0

我有一个字符串,如果有多个连字符,则替换其中的空格,hyphen i.e '-'然后我想从字符串中删除除一个之外的所有连字符。只有连字符必须被删除;不是连续的数字。

例如:--11- 必须是 -11- 而不是 -1-
例如:--12- o/p: -12-
例如:-12-- o/p: -12-

在 C# 中使用 Linq 或字符串函数。

我已经尝试使用它str = str.Remove(str.Length - 1);,但它只删除了一个字符。

4

4 回答 4

5

如果您只想将多个连续-字符合并为一个,则可以使用正则表达式轻松完成此操作:

string output = Regex.Replace(input, @"\-+", "-");
于 2013-07-22T14:13:54.430 回答
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-"
于 2013-07-22T14:22:03.293 回答
1

尝试

string sample = "--12";
string Reqdoutput =  sample.Replace("--", "-");
于 2013-07-22T14:14:21.240 回答
0

为什么不这样做:

yourString = yourString.Replace("--", "-");

还是我理解错了问题?

于 2013-07-22T14:14:03.343 回答