Как я могу обрезать начальную запятую в моей строке

StackOverflow https://stackoverflow.com/questions/73629

  •  09-06-2019
  •  | 
  •  

Вопрос

У меня есть строка, похожая на приведенную ниже.

,liger, unicorn, snipe

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

Спасибо.


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

Это было полезно?

Решение

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

Другие советы

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

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

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

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

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

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

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

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

Split(", ".toCharArray(),StringSplitOptions.Удалить ненужные элементы);

",лигр, единорог, бекас".Обрезать(',') -> "лигр, единорог, бекас"

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

Обратите внимание, что оригинал строка остается нетронутой, 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
string s = ",liger, unicorn, snipe";
s = s.TrimStart(',');

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

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

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

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

if (s.StartsWith(",")) {
    s = s.Substring(1, s.Length - 1);
}
string t = ",liger, unicorn, snipe".TrimStart(new char[] {','});

Так же, как и везде: струна.обрезать

    string s = ",liger, tiger";

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

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

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

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

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

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

Видишь: http://msdn.microsoft.com/en-us/library/d4tt83f9.aspx

        string animals = ",liger, unicorn, snipe";

        //trimmed will contain "liger, unicorn, snipe"
        string trimmed = word.Trim(',');
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top