我需要在文本文件中用“ *”标记一些错误。
在我的情况下,我要标记为“ *”的错误是换行符后没有大写字母的句子。问题是,我找不到一种将换行符包含在`n或其他任何代码中的方法。
我使此powershell代码通过.bat文件启动,但它将`n视为字符串,而不是换行符。顺便说一下,我也可以使用.c扩展名ofc。
powershell -Command "(gc test.txt) -replace '`na', '`n*a' -replace '`nb', '`n*b' | Out-File converted.txt"
此代码应从字母“ a”到“ z”,但在此示例中仅包括字母“ a”和“ b”,以使其简短易读。
我想要的是:
示例输入文本:
I want to fix this code.
but I'm not a coder.
输出应为:
I want to fix this code.
*but I'm not a coder.
如您所见,我不需要将“ but”更改为“ But”。我只需要用“ *”标记错误即可。
换行符之后的最终代码必须将所有未大写的字母替换为“ * a”,“ * b”和“ * c”,直到最后一个字母“ * z”为止。
更长的例子,以防万一:
示例输入:
Alpha
bravo
charlie
delta
echo
foxtrot
Golf
Hotel
输出文本应为:
Alpha
*bravo
*charlie
*delta
*foxtrot
*echo
*foxtrot
Golf
Hotel
先谢谢了。如果您想知道我为什么需要这个;我是一家制作公司的字幕控制员,我每个月都要检查大量此类错误。我使用的是原始方法,例如使用MS Word,并使用“ ^ p”运算符进行换行,但这确实很慢,而且要花我几个小时才能完成。
答案 0 :(得分:0)
我找到了一种解决方案,但是特殊字符在编码时丢失了。我需要使用1254土耳其语编码。 “ -Encoding Windows-1254”或“ -Encoding cp1254”不起作用。我怎样才能解决这个问题?我还尝试将编码包含到获取内容中。,