技术求助:如何逐行删除文本中")."后的所有内容?
解决方法
你之前的正则表达式问题在于把).本身也匹配进去删掉了,调整正则逻辑就能实现需求:
方案1:分两步操作(更直观)
删除
).后的所有内容
使用正则查找:(?<=\)\.).*
替换为空字符串。
这个正则用了正向断言(?<=\)\.),只会匹配).之后的所有内容,不会删掉).本身。给每行添加
->前缀
使用正则查找:^(行首锚点)
替换为->。
方案2:一步到位
使用正则查找:^(.*?\)\.).*$
替换为:->$1
^匹配行首,.*?\)\.非贪婪匹配到第一个).,.*$匹配).到行尾的所有内容$1引用第一个捕获组(即包含).的前缀部分),加上->就得到目标格式。
测试你的原始文本后,最终输出和你期望的一致:
->A). ->B). ->C). ->W).
内容的提问来源于stack exchange,提问作者changjx
相关产品推荐
相关产品推荐

