![在 .txt 文件中选择行的第一个制表符,然后在 notepad++ 中用新行符替换它](https://linux22.com/image/1416985/%E5%9C%A8%20.txt%20%E6%96%87%E4%BB%B6%E4%B8%AD%E9%80%89%E6%8B%A9%E8%A1%8C%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%88%B6%E8%A1%A8%E7%AC%A6%EF%BC%8C%E7%84%B6%E5%90%8E%E5%9C%A8%20notepad%2B%2B%20%E4%B8%AD%E7%94%A8%E6%96%B0%E8%A1%8C%E7%AC%A6%E6%9B%BF%E6%8D%A2%E5%AE%83.png)
我有一个.txt
这样的文件:
阿里是一名作家
艾哈迈德是一名讲师
注意:单词之间的空格由 Tab
并需要将其更改为以下形式:
阿里
是一名作家
艾哈迈德
是一名讲师
我怎样才能告诉 notepad++ 检索那些第一个制表符单词并将句子的其余部分放在下一行?
答案1
已更正:
好的,我现在明白了。
确保选择了“正则表达式”。
在查找框中输入“^([^\t]*)\t([^\r])”(不带引号)。在替换框中
输入“\1\r\2”(不带引号)。
将光标移至文件开头。
选择“全部替换”
答案2
首先,我无法让它匹配正则表达式制表符,因此只需执行“扩展”查找替换,将“\t”(制表符)替换为“ ”(空格)。我们稍后将撤消此操作以获得您想要的结果。
之后,将搜索模式更改为“正则表达式”
在“查找内容”框中输入此内容(不带引号)。请注意末尾的空格。”(^[a-zA-Z]*)“。
“^” 表示行的开始。“[a-zA-Z]” 表示从 az 开始的任何字母,大写或小写均可。“*” 表示重复前面的内容(az 内容)的任意次数。括号用于记住找到的内容,并在“替换为框”中重新使用它。
在“替换为”框中输入以下内容(不带引号):”\1\r\n“
“\1” 重复在“查找内容”框中找到的括号内的内容。不幸的是,这也会重复空格。我们稍后会处理这个问题。“\r\n” 是新行(回车符、换行符,这是 Windows 处理新行的方式)
单击“全部替换”。这基本上可以实现你想要的效果。
现在来解决一些小问题:
切换回“扩展”模式。将“ ”替换为“\t”以将这些空格改回制表符。
现在,修复 ali 和 ahmad 后面的尾随制表符:
查找内容:“\t$”($ 表示行尾)替换为:“”(无)
那么我想你就完成了!
这能达到你想要的效果吗?