我有一个文本文件,其中一行如下:
SendersTimeSeriesIdentification: COMPANY_A/COMPANY_B/REF_7/20090505
我想用字符 n
替换值部分中的所有非单词字符,如下所示:
SendersTimeSeriesIdentification: COMPANYnAnCOMPANYnBnREFn7n20090505
但是文件中到处都有类似的字符串,必须保持完整。一个例子是:
MessageIdentification: REF_7/VER_1/20090505
我想我必须使用lookbehind,我进行了这次尝试(VB.NET):
Regex.Replace(fileContentString, "(?<=SendersTimeSeriesIdentification: )(\W)", "0")
这并不像我希望的那样工作。所以我的问题是:
是否可以仅通过一次 Regex.Replace 调用来替换特定字符串中的所有非单词字符?怎么办?
最佳答案
试试这个:
Regex.Replace(fileContentString, "(?<=SendersTimeSeriesIdentification:\s.*)[_\W]", "0")
这会将“SendersTimeSeriesIdentification:”之后的所有\W 和 _ 字符替换为“0”。
关于vb.net - 如何使用正则表达式替换特定字符串中的非单词字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/824052/