Powershell: Find/Replace pattern of ASCII control characters

后端 未结 3 1080
长发绾君心
长发绾君心 2021-01-12 15:52

I\'m trying to write a script to search the contents of a file, and when it comes across a grouping of ASCII control characters, to insert a CR/LF.

The pattern of ch

3条回答
  •  悲哀的现实
    2021-01-12 16:05

    This expression:

    @("[char]3 [char]0 [char]2 [char]3 [char]1")
    

    ...creates an array with a single element. You need commas between terms if you really want an array of 5 items, but -replace does not support arrays anyway. Also, your single element contains the literal characters you typed; not what you expected.

    What you need is to create a simple string to feed to -replace; this is a bit more involved when you are dealing with non-printable characters. You had the right idea--you just have to tell PowerShell to interpolate the code expressions within your string using the $() notation on each expression:

    $CR = "$([char]3)$([char]0)$([char]2)$([char]3)$([char]1)"
    

提交回复
热议问题