我想删除文本小部件的部分内容,仅使用字符偏移量(或字节,如果可能)。
我知道如何对线条、单词等进行操作。查看了很多文档:
这是一个例子:
import tkinter as tk
root = tk.Tk()
text = tk.Text(root)
txt = """Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Suspendisse enim lorem, aliquam quis quam sit amet, pharetra porta lectus.
Nam commodo imperdiet sapien, in maximus nibh vestibulum nec.
Quisque rutrum massa eget viverra viverra. Vivamus hendrerit ultricies nibh, ac tincidunt nibh eleifend a. Nulla in dolor consequat, fermentum quam quis, euismod dui.
Nam at gravida nisi. Cras ut varius odio, viverra …Run Code Online (Sandbox Code Playgroud) 正如标题所示,我做了一个简单的函数,如下所示:
import sys
string = sys.argv[1]
def position():
for index in range(len(string)):
if string[index] == 'A':
print(int(index+1))
position()
Run Code Online (Sandbox Code Playgroud)
当与“AABABC”等测试字符串一起使用时,将以数字形式返回每个“A”的位置。
在这里,我增加索引,1 因为我注意到范围从 0 开始。虽然我可以传递 1 或任何我想要的数字以使其开始,但它会删除/不打印我想要的所有内容。所以我发现这在这种情况下效果最好。
这里一切正常。但当我用return语句替换函数中的 print 时却没有:
import sys
string = sys.argv[1]
def position():
for index in range(len(string)):
if string[index] == 'A':
return int(index+1)
print(position())
Run Code Online (Sandbox Code Playgroud)
在这里,我只显示对代码的编辑,但我确实尝试了几种不同的方法,所有方法都具有相似的结果(因为它不起作用):
+=在这种特定情况下不起作用?与可能被视为与我的重复/相似的其他“问题”相比,我print()在最后一个示例中使用了它之外的函数。所以问题很可能不是来自那里。
我也不认为我的缩进是错误的。
为了提供有关“什么不起作用”的更多详细信息,当我使用return而不是print此处并使用诸如“ABABACD”之类的测试字符串时,它将输出正确的“136”作为结果。但是,当return与我之前列出的其他失败尝试一起使用时,它只会输出“1”......
我有一堆 elisp 和其他带有一些注释的代码,我想重新格式化以使其更有组织性,并且我发现必须输入
#+BEGIN_SRC emacs-lisp ... #+END_SRC
Run Code Online (Sandbox Code Playgroud)
一直围绕着我想要的,花费的时间比预期的要长一些......
所以我想做的是包装/或放置所选内容(使用 C 空间)并将其放入 org 模式的模板源代码块中(在我的情况下,它主要是 elisp 代码,但我计划使用它也许是为了其他事情)
我怎样才能在 emacs 或 elisp 中做到这一点?