Tkinter Text Widget:检索一行的第一个字符

时间:2016-07-30 04:57:08

标签: text indexing tkinter widget character

我有一个Text小部件,其文本为:

    This is some random text

如您所见,文本的第一个“T”位于1.4。使用不同的文本,如何检索每行中第一个字符的索引。任何帮助都非常感谢!

2 个答案:

答案 0 :(得分:0)

您需要的只是一个函数,它返回字符串的第一个非空格字符的索引:

def get_index(txt):
    l = txt.split(" ")
    i = 0
    while i < len(l) and l[i] == "":
        i += 1
    if i == len(l):
        # the string is empty or contains only spaces
        return -1
    else:
        return i

然后将其应用于“文本”小部件中包含的每一行。

答案 1 :(得分:0)

当内置工具可以为您完成工作时,无需定义自己的功能。

使用lstrip方法删除左侧的空格。然后取第一个角色。并使用index方法检索该字符的索引。

text = '     hello'
c = text.lstrip()[0]  # c : 'h'
idx = text.index(c)  # idx : 5

lstrip可以将任何要剪切的字符串作为参数,默认为空格。您可能也对[{1}}(右侧相同)和rstrip(两侧)感兴趣