Как я могу обрезать ведущую запятую в моей строке

У меня есть строка, как показано ниже.

,liger, unicorn, snipe

на других языках, с которыми я знаком, я могу просто сделать string.trim( "," ), но как я могу это сделать в С#?

Спасибо.


В функции StartTrim было много разных функций. Как отмечалось несколькими, StartTrim не влияет на основную переменную. Однако, учитывая построение данных по сравнению с вопросом, я порван относительно того, какой ответ принять. Правда, вопрос только требует, чтобы первый символ обрезался не последним (если anny), однако в конце данных никогда не будет ",". Итак, с учетом сказанного, я собираюсь принять первый ответ, который сказал, чтобы использовать StartTrim для новой переменной.

Ответ 1

string sample = ",liger, unicorn, snipe";
sample = sample.TrimStart(','); // to remove just the first comma

Или, возможно:

sample = sample.Trim().TrimStart(','); // to remove any whitespace and then the first comma

Ответ 2

string s = ",liger, unicorn, snipe";
s.TrimStart(',');

Ответ 3

Строки

.net могут выполнять Trim() и TrimStart(). Поскольку он принимает params, вы можете написать:

",liger, unicorn, snipe".TrimStart(',')

и если у вас есть несколько символов для обрезки, вы можете написать:

",liger, unicorn, snipe".TrimStart(",; ".ToCharArray())

Ответ 4

здесь есть простой способ не начинать начальную запятую:

string[] animals = { "liger", "unicorn", "snipe" };
string joined = string.Join(", ", animals);

Ответ 5

string.TrimStart(',') удалит запятую, однако у вас возникнут проблемы с разделенной операцией из-за пробела после запятой. Лучше всего присоединиться к одной запятой или использовать

Разделить ( ",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

Ответ 6

", лигера, единорога, бекаса".Trim(',') → "liger, unicor, snipe"

Ответ 7

Попробуйте string.Trim(',') и посмотрите, делает ли это то, что вы хотите.

Ответ 8

Обратите внимание: исходная строка остается нетронутой, Trim вернет вам новую строку:

string s1 = ",abc,d";
string s2 = s1.TrimStart(",".ToCharArray());
Console.WriteLine("s1 = {0}", s1);
Console.WriteLine("s2 = {0}", s2);

печатает:

s1 = ,abc,d
s2 = abc,d

Ответ 9

string s = ",liger, unicorn, snipe";
s = s.TrimStart(',');

Важно назначить результат TrimStart переменной. Как говорится на странице TrimStart, "Этот метод не изменяет значение текущего экземпляра, а возвращает новую строку..".

В .NET строки не меняются.

Ответ 10

вы можете использовать этот

лигер, единорог, бекас ".TrimStart(',');

Ответ 11

if (s.StartsWith(",")) {
    s = s.Substring(1, s.Length - 1);
}

Ответ 12

string t = ",liger, unicorn, snipe".TrimStart(new char[] {','});

Ответ 13

Точно так же, как и везде: string.trim

Ответ 14

    string s = ",liger, tiger";

    if (s.Substring(0, 1) == ",")
        s = s.Substring(1);

Ответ 15

Вы имели в виду обрезку всех экземпляров "," в этой строке?

В этом случае вы можете сделать:

s = s.Replace(",", "");

Ответ 16

Просто используйте Подстроку, чтобы игнорировать первый символ (или назначить его другой строке);

 string o = ",liger, unicorn, snipe";
 string s = o.Substring(1);