如何在C#中删除字符串的第一个和最后一个字符?

时间:2017-03-22 22:54:39

标签: c#

String: "hello to the very tall person I am about to meet"

我希望它成为:

String: hello to the very tall person I am about to meet

我只能找到修改开始的代码吗?

4 个答案:

答案 0 :(得分:28)

使用String.Substring方法。

因此,如果您的字符串存储在变量mystr中,请执行以下操作:

mystr = mystr.Substring(1, mystr.Length - 2);

答案 1 :(得分:26)

如果要从字符串中删除任何第一个和最后一个字符,请按照Anish的建议使用Substring,但如果您只想从开头和结尾删除引号,请使用

myStr = myStr.Trim('"');

注意:这将删除引号的所有前导和尾随匹配(docs)。

答案 2 :(得分:4)

如果您尝试从字符串中删除特定字符(例如示例中的引号),则可以使用Trim进行开始和结束修剪,或TrimStartTrimEnd你想从开始和结束修剪不同的字符。将这些方法传递给要从字符串的开头和结尾删除的字符(或字符数组)。

var quotedString = "\"hello\"";
var unQuotedString = quotedString.TrimStart('"').TrimEnd('"'); 

// If the characters are the same, then you only need one call to Trim('"'):
unQuotedString = quotedString.Trim('"');

Console.WriteLine(quotedString);
Console.WriteLine(unQuotedString);

输出:

  

"你好"

     

您好

或者,您可以使用SkipTake以及Concat来删除字符串开头和结尾的字符。这甚至可以用于和空字符串,节省您对计算字符串长度的担忧:

var original = "\"hello\"";
var firstAndLastRemoved = string.Concat(original.Skip(1).Take(original.Length - 2));

答案 3 :(得分:0)

C#8:myString[1..^1]
参见Indices and ranges