Notepad ++ Scripting:如何删除换行符?

时间:2011-06-22 16:46:24

标签: python scripting notepad++

我目前正在PythonScript中编写一个非常简单的脚本,以便在文本文件中支持基本的ASCII复选框。

计划是当我按下Alt + F2时,编辑器会将[]切换为[x]和[x]切换为[],如果行以复选框开头,或者只是在当前位置插入[]。 / p>

我写了一个有效的脚本......差不多

from Npp import *
import string

# If the line starts with [ ] or [x] the script toggles the value between the two possibilites
# if the line doesn't contains [ ] the script adds the empty box at the current position
curLine = editor.getCurLine()
curPos = editor.getCurrentPos()
curLineNr = editor.lineFromPosition(curPos)
strippedLine = curLine.lstrip()

if (strippedLine.startswith('[ ]')):
    curLine = curLine.replace('[ ]', '[x]', 1).rstrip('\n')
    editor.replaceWholeLine(curLineNr, curLine)
    editor.gotoPos(curPos)
elif (strippedLine.startswith('[x]')):
    curLine = curLine.replace('[x]', '[ ]', 1).rstrip('\n')
    editor.replaceWholeLine(curLineNr, curLine)
    editor.gotoPos(curPos)
else:
    editor.addText('[ ] ')

但是这个脚本在替换的编辑器行之后添加了一个换行符。一个非常愚蠢的工作是删除新插入的行,但我不想在第一时间插入它。

修改:/ 让它正常工作。只需使用editor.replaceWholeLine方法,它就像一个魅力。

1 个答案:

答案 0 :(得分:2)

将editor.replaceWholeLine方法与editor.replaceLine方法一起使用。

上面的脚本现在可以使用了