PowerShell 技能连载 - 拆分而不丢失字符
拆分文本时,通常会丢失拆分字符。这就是为什么这个例子中的反斜杠丢失的原因:
1 | PS> 'c:\test\file.txt' -split '\\' |
重要提示:请注意 -split
运算符需要一个正则表达式。如果你想在反斜杠处拆分,因为反斜杠是正则表达式中的一个特殊字符,你需要对它进行转义。以下调用告诉您需要转义的内容:提交要使用的文字文本。结果是转义的正则表达式文本:
1 | PS> [regex]::Escape('\') |
如果你想拆分而不丢失任何字符,你可以使用所谓的先行断言和后行断言。以下代码在一个反斜杠后分割(不删除它):
1 | PS> 'c:\test\file.txt' -split '(?<=\\)' |
以下代码在每个反斜杠之前拆分:
1 | PS> 'c:\test\file.txt' -split '(?=\\)' |
PowerShell 技能连载 - 拆分而不丢失字符
http://blog.vichamp.com/2021/07/06/splitting-without-losing/