使用正则表达式在C#中替换文件中的字符串

4

我无法使用正则表达式*...让此代码运行起来...

在页面之前,它似乎不是任何正则表达式的通配符。txt文件.pagdel中包含页面的随机目录位置和页码,如:

H:\teste\pages\page_10

H:\teste\blankpages\page_11

我需要将批处理文件中的所有目录结构替换为存储在字符串变量replace中的特定目录。

例如:

H:\teste\pages\page_10 - 旧pagdel

H:\teste\blankpages\page_11 - 旧pagdel

H:\teste\newpages\page_10 - 新pagdel

H:\teste\newpages\page_11 - 新pagdel

File.WriteAllText("H:\\teste\\batch\\pagdel.bat", 
   Regex.Replace(File.ReadAllText("H:\\teste\\batch\\pagdel.bat"), 
   "*page_", replace));

我做错了什么。

我相信这个stackoverflow的问题可能会帮助回答你的问题 - 正则表达式通配符 - ProjectNapalm
1个回答

1
我认为你需要更改正则表达式:

"*page_"改为".*page_"

希望有所帮助。干杯。

编辑:

replace = "H:\teste\newpages\page_";

当我使用你的语法时,出现了以下错误:System.dll 中发生了未处理的 System.ArgumentException 类型异常。附加信息:分析“*.teste_” - 量词 {x,y} 后面没有跟任何内容。 - VictorLS
@VictorLS 请告诉我您是否在答案的编辑部分中使用了替换功能。 - Kamil Wozniak
@VictorLS,我刚看到您错放了 . 字符。应该是这样的:".*teste_"。请更改一下,它就可以正常工作了。 - Kamil Wozniak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接