我正在尝试在 C# 程序的各种字符串中查找并删除任何出现的“...”。"..." 的任何一侧都可以是任何东西,但它永远不会位于字符串的开头或结尾。
我试过 "\.{3}"、"[\.]{3}" 和 ""(\.\.\.)"。这些似乎都不起作用。
有人知道出了什么问题吗?
编辑
固定的。我以为“……”实际上是“……”。这是我试图匹配的单个字符。
你可以简单地使用
string result = source.Replace("...", "");
您是否考虑过只使用 String.Replace 方法?它可能比正则表达式更快。
string s = "weioufhw...wefwef...wefwef...wefwef...";
string newS = s.Replace("...","");
你忘记了逃避。使用"\\.{3}"
或@"\.{3}"
。
实现你的目标可能最好的方法是String.Replace方法
您可以在这样的字符串上使用:
string testString = "...a...b...c...";
string resultString = testString.Replace("...","");
结果应该是简单的“abc”。
只需进行搜索和替换(Ctrl + h)并在查找字段中填写“...”并确保替换字段为空,然后选择替换所有文件或仅替换当前文件的选项。
如果您真的想使用正则表达式,这将起作用
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);
}