我有一个字符串,其中空格被hyphen i.e '-'
替换,如果有多个连字符,那么我想从字符串中除去一个除了一个。只有连字符必须删除;不是连续的数字。
例如: - 11-必须是-11-而不是-1-
例如: - 12- o / p:-12-
例如:-12-- o / p:-12 -
在C#中使用Linq或字符串函数。
我使用str = str.Remove(str.Length - 1);
尝试了它,但它只删除了一个字符。
答案 0 :(得分:5)
如果您只想将多个连续的-
个字符合并为一个,则可以使用正则表达式轻松完成此操作:
string output = Regex.Replace(input, @"\-+", "-");
答案 1 :(得分:1)
尝试
string sample = "--12";
string Reqdoutput = sample.Replace("--", "-");
答案 2 :(得分:1)
如果您只想替换连字符,可以执行其他答案中给出的操作之一。要删除所有双字符,您可以执行以下操作:
String input = "------hello-----";
int i = 1;
while (i < input.Length)
{
if (input[i] == input[i - 1])
{
input = input.Remove(i, 1);
}
else
{
i++;
}
}
Console.WriteLine(input); // Will give "-helo-"
答案 3 :(得分:0)
为什么不这样做:
yourString = yourString.Replace("--", "-");
或者我是否理解错误的问题?