vb.net - 如何使用正则表达式替换特定字符串中的非单词字符?

标签 vb.net regex replace

我有一个文本文件,其中一行如下:

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/

相关文章:

c# - 内存困惑

javascript - 不太严格的电话正则表达式

python - Pandas :根据字典更改数据框值并删除不匹配的行

ruby - ruby 如何完成这项任务(Ruby 中不区分大小写的字符串搜索和替换)?

php - 使用 PHP 从 mySQL 获取记录并将其发送到 VB.net

c# - "File Number"到底是什么?

regex - 什么是可以测试字符串是否为有效 Firebase key 的正则表达式?

java - 如何用java中的另一个单词替换字符串中所有出现的单词?

asp.net - 是否可以使用 Javascript 破坏由 ASP.NET (VB.NET) 设置的 session 变量?

ruby - 用于匹配具有重复模式的字符串的正则表达式