Notepad++ 如何删除每行末尾的最后一个字符(:)

19
在Notepad++中,如何删除行末的:,像这样:

FRUIT:SHOP:TBA0002:RACK 01:LINE 1:TOP:MAX:1602:1612:

所以它会变成这样:

FRUIT:SHOP:TBA0002:RACK 01:LINE 1:TOP:MAX:1602:1612

我有一个由大约3000行组成的非常长的列表。

1
将内容复制到Excel中,使用LEFT函数排除最后一个字符,然后再复制回记事本。 - Huy Pham
我以前用过Notepad++做过类似的事情。但只是使用查找和替换功能。搜索“:\n”并替换为“\n”或类似的内容。你可能需要调整查找和替换选项。 - Gohn67
3个回答

43
你可以在替换对话框中使用正则表达式。
查找:
.{1}$

替换为空,然后只需选择全部替换

完整选项如下:

enter image description here


3
这会删除最后一个字符,而不是尾随的冒号。 - le3th4x0rbot
1
是的,你说得对。但在这种情况下,(:)在行末,因此它解决了他的问题。 - Charles P.

21

根据手册中的Regular Expressions页面,它指出:

Notepad++正则表达式使用基于PCRE(Perl兼容正则表达式)语法的Boost正则表达式库v1.70

因此,您只需搜索正则表达式即可。

:$

并将其替换为“nothing”。

美元符号$表示行末。

有关正则表达式的更多信息,请参见上面的Notepad++手册链接或http://www.regular-expressions.info/


7
使用查找和替换功能,勾选“扩展”选项,查找“:\r\n”,并替换为“\r\n”。这将删除除了最后一行以外的所有内容。

2
它只在Windows文件中的换行符为CRLF时有效,但在其他平台上无效。 - Toto
1
正确!\r\n在Windows上可以使用,但是Linux或其他操作系统的组织方式不同 - 您需要使用另一种顺序或字符。例如(我不确定,一个朋友曾经提到过),对于Linux,如果它被倒过来拼写为\n\r,则可以正常工作。我相信对于那些感兴趣的人来说,这很容易检查,不仅适用于Linux,还适用于其他操作系统。 - Kalin Varbanov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接