I have a text file as:
0xC1,0x80,
0x63,0x00,
0x3F,0x80,
0x01,0xA0,
I want output as:
Line1: 0xC1,0x63,0x3F,0x01,
Line2: 0x80,0x00,0x80,0xA0,
如何在Notepad++中使用replace函数来实现这个功能?
Step 1: Ctrl + A: selects all.
Step 2: Ctrl + J: Transpose the Row you selected
Ctrl + J
是 编辑 > 行操作 > 连接行
选项。来自 @Noel 的 查找和替换
答案更通用,在大多数情况下可以优先考虑。 - AlainD干杯...
delimiter=","
newline="\n"
content=editor.getText()
matrix=[line.split(delimiter) for line in content.rstrip(newline).split(newline)]
transposed=list(map(list, zip(*matrix)))
notepad.new()
for line in transposed:
editor.addText(delimiter.join(line) + newline)
if len(transposed)!=len(matrix[0]):
console.clear()
console.show()
console.write("Warning: some rows are of uneven length. You might consider using the transpose_uneven script instead.")
import itertools
delimiter=","
newline="\n"
content=editor.getText()
matrix=[line.split(delimiter) for line in content.rstrip(newline).split(newline)]
transposed=list(map(list, itertools.izip_longest(*matrix, fillvalue="")))
notepad.new()
for line in transposed:
editor.addText(delimiter.join(line) + newline)
transpose.py
脚本将转置以下示例:
0xC1,0x80,
0x63,0x00,
0x3F,0x80,
0x01,0xA0,
致:
0xC1,0x63,0x3F,0x01
0x80,0x00,0x80,0xA0
,,,
0xC1,0x80,
0x63,0x00,
0x3F,0x80,
0x01,0xA0,
0x02
0xC1,0x63,0x3F,0x01,0x02
transposed_uneven.py
,它会返回:0xC1,0x63,0x3F,0x01,0x02
0x80,0x00,0x80,0xA0,
,,,,
如果您确实有这样的固定格式并需要这样的固定输出,我通常会尝试使用即时宏来处理。
所以我的光标位于文件左上角,准备进行操作,然后我按下录制按钮(或在菜单栏中选择宏 - 开始录制)。
在您特定的情况下,请按以下步骤:
按下停止按钮(或在菜单栏中选择宏 - 停止录制)。
现在进行第一次测试,按下播放按钮(或在菜单栏中选择宏 - 播放),并测试是否有效。如果是,请单击宏 - 多次运行宏并选择运行到文件结尾。