题
我有一个如下所示的字符串。
,liger, unicorn, snipe
在我熟悉的其他语言中,我可以只执行 string.trim(",") 但如何在 C# 中做到这一点?
谢谢。
关于 StartTrim 函数有很多争论。正如一些人指出的那样,StartTrim 不会影响主要变量。然而,考虑到数据的结构和问题,我对于接受哪个答案感到困惑。确实,问题只希望删除第一个字符而不是最后一个字符(如果有的话),但是,数据末尾永远不会有“,”。因此,话虽如此,我将接受第一个答案,即使用 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 字符串可以执行 Trim() 和 TrimStart()。因为它需要 params
, , 你可以写:
",liger, unicorn, snipe".TrimStart(',')
如果你有多个字符需要修剪,你可以这样写:
",liger, unicorn, snipe".TrimStart(",; ".ToCharArray())
这是一种不产生开头逗号的简单方法:
string[] animals = { "liger", "unicorn", "snipe" };
string joined = string.Join(", ", animals);
string.TrimStart(',') 将删除逗号,但是由于逗号后面的空格,您将在分割操作中遇到麻烦。最好仅加入单个逗号或使用
Split(", ".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);
",狮虎, 独角兽, 鹬".Trim(',') -> "狮虎, 独角兽, 鹬"
尝试 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 的结果分配给变量非常重要。正如上面所说 修剪开始页面, ,“该方法不会修改当前实例的值。相反,它返回一个新字符串......”。
在.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(',');