是否可以在 Notepad++ 中反转单行?
例子:
Hello world
将改为
dlrow olleH
我应该安装一个插件来实现这样的功能吗?
更新:我想让剪贴板保持原始状态。因此 [复制]-[外部变换]-[粘贴] 不合适。
此外,我希望留在断开连接的桌面环境中,因此任何在线服务解决方案都不合适。
答案1
在使用特殊字符标记字符串的开头后,您可以进行迭代搜索和替换以反转字符串(我在示例中使用百分号 %)
搜索:(%)(.*)(.)
代替:\3\1\2
在搜索和替换中启用“正则表达式”。
重复该操作,直到字符串反转。
答案2
如果你不需要经常这样做,你可以将这一行复制到这个在线工具进行逆转。
答案3
更新:我添加了一个 Python-3“反转剪贴板文本”脚本。
此 Python-3 脚本适用于 Unicode 文本;即所有文本...
# original # Ĥĕłłō ŵōŗłđ in Unicode
# reversed # edocinU ni đłŗōŵ ōłłĕĤ
由于尚未提出集成解决方案,因此我将提及一种 Unix 工具解决方法。
下载源代码中提到的实用程序(如下),并将它们放入 PATH 文件夹中。
将代码(如下)放入 .cmd 文件中,并随意命名。(当然,它也必须位于 PATH 文件夹中)。
为 .cmd 创建 Windows 快捷方式(将其放在“开始菜单”中的某个位置,并将其设置为最小化运行)... 并为其分配快捷方式热键。
然后,您只需将您选择的文本复制到剪贴板并按下热键...完成!..反转的文本将替换选定的文本。
如果您愿意,您可以设置一个 NotePad++ 宏来选择并复制整行..(请注意文本末尾的换行符)。
另外,正如源注释中提到的那样。这适用于单字节字符集。
sed.exe
可能能够处理 Unicode,但我还没有完全解决这个问题...如果您碰巧知道如何做到这一点,请发布信息,可以在这里,也可以在我发布的有关此问题的特定问题中发布:适用于 Windows 的 GNU SED 可以处理 Unicode
这是sed.exe
版本:
@echo off
::==============================================::
:: FUNCTION: Reverse the text in the clipboard. ::
:: 8-bit characters only (ANSI). ::
:: It removes all \r and \n characters, because ::
:: because sed.exe adds a trailing line-feed ::
:: Four `NIX utilities are used. ::
:: 2 gclip.exe (GNU) ::
:: 1 pclip.exe (GNU) ::
:: 3 gsed.exe (GNU) ::
:: 4 tr.exe (is `NIX, but maybe not GNU) ::
::==============================================::
> "%temp%\%n0.sed" echo /\n/!G
>> "%temp%\%n0.sed" echo s/\(.\)\(.*\n\)/^&\2\1/
>> "%temp%\%n0.sed" echo //D
>> "%temp%\%n0.sed" echo s/.//
pclip.exe | sed.exe -f "%temp%\%n0.sed" | tr.exe -d "\r\n" | gclip.exe
del "%temp%\%n0.sed"
goto :eof
以下是Python-3
版本:
##==============================================##
## FUNCTION: Reverse the text in the clipboard. ##
## The text is handled as unicode. ##
## Using Python-3.1.2 ##
## with Python-Win32-extensions for Python-3.1 ##
##==============================================##
import win32clipboard as w
w.OpenClipboard()
## CF_UNICODETEXT == 13
s=w.GetClipboardData(13)
w.SetClipboardData(13,s[::-1])
w.CloseClipboard()
答案4
Notepad++的BinHex插件2.0版本实现了字符串反转功能。
您可以标记应该反转的字符串并按Ctrl+ R。