我有一些带翻转括号的文本。例如,而不是(text-in-parentheses)我有)text-in-parentheses(
有没有一种简单的方法可以翻转文本中的所有括号?如果是这样,如何?
更新:这是一个纯文本文件,每个括号都被翻转。我正在使用 Windows 7。
(Get-Content "in.txt" -raw) -replace "\(", "`0)" -replace "\)", "(" -replace "(`0\()", ")" >> "out.txt"
Run Code Online (Sandbox Code Playgroud)
也可以:
Set-Content "out.txt" ((Get-Content "in.txt" -raw) -replace "\(", "`0)" -replace "\)", "(" -replace "(`0\()", ")")
Run Code Online (Sandbox Code Playgroud)
in.txtout.txt(在第一个代码示例中水平滚动以查看行尾)$in = "in.txt";
$out = "out.txt";
(Get-Content $in -raw) -replace "\(", "`0)" -replace "\)", "(" -replace "(`0\()", ")" >> $out
Run Code Online (Sandbox Code Playgroud)
也可以:
Set-Content $out ((Get-Content $in -raw) -replace "\(", "`0)" -replace "\)", "(" -replace "(`0\()", ")")
Run Code Online (Sandbox Code Playgroud)
请暂时忽略神秘的反斜杠 - 它们仅适用于转义在正则表达式中具有特殊含义的括号。
我们首先替换每次出现的(by NUL)(参见NUL 字符)。然后,我们将每个替换)为(。作为最后一步,NUL(由 重新替换)。
使用这种方式,我们确保不会进行“双重替换”,例如:
Initial string value:
(test)
After replacing "(" by ")"
)test)
After replacing ")" by "("
(test(
Run Code Online (Sandbox Code Playgroud)
警告
文件本身不能包含序列NUL)。这会导致对我的 Powershell 脚本的误解,因为我将 NUL 字符用作特殊指示符(例如,在使用绿色屏幕和穿着绿色衣服时会出现相同的情况)。
| 归档时间: |
|
| 查看次数: |
369 次 |
| 最近记录: |