我想在20个字符后添加文本。有人有添加内容的简短解决方案吗?或者可以发布一个链接,我可以在那里阅读这样做的方法。
我的文件看起来像这样:
/path1/path1/path1 /path2/path2/path2 /path3/path3/path3
一个应用程序会读取这个paht(不是我的应用程序,我不能以任何方式编辑它(,应用程序会阅读这些路径,它会在它们的位置上读取它们,所以如果第二个路径在10个字符后开始,它不会识别它,所以我不能简单地替换路径或编辑它,因为路径的长度并不总是相同的。为什么应用程序是这样读的?不要问我。
因此,我需要在开始时添加一个字符串,而不是正好在第20个字符处的下一个字符串和第40个字符处。
您可以使用regex-replace
运算符在20个字符后注入新的子字符串:
PS ~> $inject = "Hello Manuel! ..."
PS ~> $string = "Injected text goes: and then there's more"
PS ~> $string -replace '(?<=^.{20})',$inject
Injected text goes: Hello Manuel! ...and then there's more
正则表达式模式(?<=^.{20})
描述字符串中的一个位置,在该位置,字符串的开头和当前位置之间正好出现20个字符,然后-replace
运算符用$inject
中的值替换所述位置处的空字符串
这对我来说是
$data.PadRight(20," ") | Out-File -FilePath F:testpath.txt -NoNewline -Append