gpt4 book ai didi

c# - 使用正则表达式删除字符

转载 作者:太空宇宙 更新时间:2023-11-03 22:28:13 25 4
gpt4 key购买 nike

我有一个字符串。我需要从这个原始字符串中替换给定字符串数组的所有实例 - 我该怎么做?

目前我正在使用...

var inputString = "this is my original string.";
var replacement = "";
var pattern = string.Join("|", arrayOfStringsToRemove);

Regex.Replace(inputString, pattern, replacement);

这工作正常,但不幸的是,当有人试图删除在正则表达式中具有特殊含义的字符时,它会崩溃。

我应该怎么做?有没有更好的办法?

最佳答案

使用 Regex.Escape 构建模式:

StringBuilder pattern = new StringBuilder();
foreach (string s in arrayOfStringsToRemove)
{
pattern.Append("(");
pattern.Append(Regex.Escape(s));
pattern.Append(")|");
}
Regex.Replace(inputString, pattern.ToString(0, pattern.Length - 1), // remove trailing |
replacement);

关于c# - 使用正则表达式删除字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/358912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com