Я склонен использовать -Wall
(потому что все действительно делают ошибки, никто не прекрасен), но я не использую -Werror
(предупреждения обработки как ошибки), потому что время от времени gcc предупреждает о вещах, которые являются правильными так или иначе (ложные положительные стороны).
substring = str.Split(',')[0];
Если str не содержит запятых, подстрока будет такой же, как str.
РЕДАКТИРОВАТЬ: как и в большинстве случаев, производительность будет отличаться для крайних случаев. Если есть много-много запятых, это создаст много экземпляров String в куче, которые не будут использоваться. Если это строка из 5000 символов с запятой в начале, метод IndexOf + Substring будет работать намного лучше. Однако для достаточно маленьких строк этот метод будет работать нормально.
var firstPart = str.Split(new [] { ',' }, 2)[0]
Второй параметр указывает максимальное количество деталей. Указание 2 гарантирует, что производительность будет хорошей даже при большом количестве запятых.
Вы можете использовать IndexOf (), чтобы узнать, где находится запятая, а затем извлечь подстроку. Если вы уверены, что запятая всегда будет, вы можете пропустить проверку.
string a = "asdkjafjksdlfm,dsklfmdkslfmdkslmfksd";
int comma = a.IndexOf(',');
string b = a;
if (comma != -1)
{
b = a.Substring(0, comma);
}
Console.WriteLine(b);
myString = myString.Substring(0,myString.IndexOf(','));
Алина, исходя из того, что вы написали выше, тогда Split будет работать для вас.
string[] a = comment.Split(',');
Учитывая ваш пример строки, тогда a [0] = "aaa", a [1] = " bbbbb ", a [2] =" cccc "и a [3] =" dddd "
string NoComma = "";
string example = "text before first comma, more stuff and another comma, there";
string result = example.IndexOf(',') == 0 ? NoComma : example.Split(',')[0];