我有一个字符串,如果有多个连字符,则替换其中的空格,hyphen i.e '-'
然后我想从字符串中删除除一个之外的所有连字符。只有连字符必须被删除;不是连续的数字。
例如:--11- 必须是 -11- 而不是 -1-
例如:--12- o/p: -12-
例如:-12-- o/p: -12-
在 C# 中使用 Linq 或字符串函数。
我已经尝试使用它str = str.Remove(str.Length - 1);
,但它只删除了一个字符。
如果您只想将多个连续-
字符合并为一个,则可以使用正则表达式轻松完成此操作:
string output = Regex.Replace(input, @"\-+", "-");
如果您只想替换连字符,您可以执行其他答案中给出的其中一项操作。要删除所有双字符,您可以这样做:
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-"
尝试
string sample = "--12";
string Reqdoutput = sample.Replace("--", "-");
为什么不这样做:
yourString = yourString.Replace("--", "-");
还是我理解错了问题?