我的文件 Text.txt 包含:
sometext1 sometext2 sometext3 sometext4_sometext5_sometext6 sometext7 sometext8 sometext9_sometext10 sometext11
我只需要在 powershell 中将包含 _ 的字符串缩短为第一个和最后一个字符即可输出:
sometext1 sometext2 sometext3 s4_s5_s6 sometext7 sometext8 s9_s0 sometext11
我是 Powershell 的新手。
谢谢您的帮助。
它的正则表达式有点冗长,但我认为它可以满足您的需要:
(?<=[^])[^\s_]+(?=[^\s_]|[^]\s)|(?<=\s[^])[^\s]+(?=[^ \s_]_)
像这样使用:
sometext1 sometext2 sometext3 sometext4_sometext5_sometext6 sometext7 sometext8 sometext9_sometext10 sometext11' -replace '(?<=_[^_])[^\s_]+(?=[^\s_]_|[^_]\s)|(?<=\s[^_])[^\s_]+(?=[^\s_]_)
这是正则表达式的解释: https://regex101.com/r/aYVoa6/1