1

我正在尝试在 C# 程序的各种字符串中查找并删除任何出现的“...”。"..." 的任何一侧都可以是任何东西,但它永远不会位于字符串的开头或结尾。

我试过 "\.{3}"、"[\.]{3}" 和 ""(\.\.\.)"。这些似乎都不起作用。

有人知道出了什么问题吗?

编辑

固定的。我以为“……”实际上是“……”。这是我试图匹配的单个字符。

4

6 回答 6

5

你可以简单地使用

string result = source.Replace("...", "");
于 2012-08-22T14:23:24.657 回答
2

您是否考虑过只使用 String.Replace 方法?它可能比正则表达式更快。

string s = "weioufhw...wefwef...wefwef...wefwef...";
string newS = s.Replace("...","");
于 2012-08-22T14:24:35.333 回答
1

你忘记了逃避。使用"\\.{3}"@"\.{3}"

于 2012-08-22T14:26:15.670 回答
1

实现你的目标可能最好的方法是String.Replace方法

您可以在这样的字符串上使用:

string testString = "...a...b...c...";
string resultString = testString.Replace("...","");

结果应该是简单的“abc”。

于 2012-08-22T14:32:27.090 回答
0

只需进行搜索和替换(Ctrl + h)并在查找字段中填写“...”并确保替换字段为空,然后选择替换所有文件或仅替换当前文件的选项。

于 2012-08-22T14:24:48.313 回答
0

如果您真的想使用正则表达式,这将起作用

        private void Test()
    {
        string regex = "\\.{3}";
        System.Text.RegularExpressions.RegexOptions options = ((System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace | System.Text.RegularExpressions.RegexOptions.Multiline) 
                    | System.Text.RegularExpressions.RegexOptions.IgnoreCase);
        System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(regex, options);
    }
于 2012-08-22T14:24:53.843 回答