使用通配符搜索不同的字符串,例如搜索test0?
(后面有一个空格?
)。搜索产生的字符串是:
test01
test02
test03
(and so on)
替换文本应为例如:
test0? -
上面的通配符test0? -
表示 1、2 或 3...
因此,替换字符串应该是:
test01 -
test02 -
test03 -
string pattern = WildcardToRegex(originalText);
fileName = Regex.Replace(originalText, pattern, replacementText);
public string WildcardToRegex(string pattern)
{
return "^" + System.Text.RegularExpressions.Regex.Escape(pattern).
Replace("\\*", ".*").Replace("\\?", ".") + "$";
}
问题是用原始字符加上添加的字符保存新字符串。我可以搜索字符串并通过一些字符串操作来保存原始字符串,但这似乎开销太大。必须有一个更简单的方法。
感谢您的任何意见。
编辑:
使用通配符搜索字符串?可能的字符串是:
test01 someText
test02 someotherText
test03 moreText
使用正则表达式,搜索字符串模式将是:
test0? -
因此,每个字符串都应为:
test01 - someText
test02 - someotherText
test03 - moreText
如何保留被正则表达式通配符“?”替换的字符?
正如我的代码所代表的那样,它会作为测试出来吗?- someText
那是错误的。
谢谢。
编辑数字 2
首先,感谢大家的回答和指导。它确实帮助并引导我走上正确的道路,现在我可以更好地提出确切的问题:
它与替换有关。
在正则表达式之后插入文本。
我给出的示例字符串,它们可能并不总是那种格式。我一直在研究替换,但似乎无法正确使用语法。我正在使用 VS 2008。
还有什么建议吗?
谢谢