关于python的文本框增删内容

关于python的文本框增删内容
代码思路以及想法在代码注释内,望资深老手帮助解答!

import ttkbootstrap as ttk
from ttkbootstrap.constants import *
import re

l_str='('
r_str=')'
hjfj1 = 'beautiful'

ckou0 = ttk.Window(
    title='''单词测试''',
    size=(500, 500),  # 窗口的大小
    position=(300, 100),  # 窗口位置
    resizable=(False, False),  # 让窗口不可更改大小
    alpha=0.91,  # 窗口透明度
    #iconphoto=r'res\at.ico'
)
showtag_text1 = ttk.Text(ckou0)
showtag_text1.place(x=0, y=0, width=300,height=50)

def a_hjfj1():#我需要第一次按下添加单词,第二次按下删除单词还有单词后边的逗号,且为唯一指定的,不然出现相似的单词会删错,但我不知道怎么实现
    global hjfj1
    ss=showtag_text1.get('1.0', END)
    if hjfj1 not in ss:
        showtag_text1.insert('insert', hjfj1)
        showtag_text1.insert('insert', ',')

def b_hjfj1():#测试2,如果可以请合并到函数a_hjfj1()里
    sss=showtag_text1.get('1.0', END)
    if hjfj1 in sss:
        ssss=sss.strip()
        l_over = re.sub(rf'\b({hjfj1})\b', '', ssss)#这里是成功删除唯一指定的单词,但是逗号删不了
        #l_over = re.sub(rf'\b({hjfj1},)\b', '', ssss)  可以看到我加了个逗号在{hjfj1}的后面。如果是普通的字符串那就能成功替换,但是这里无法替换,
        print(l_over)
        showtag_text1.delete('0.0', END)
        showtag_text1.insert('insert', l_over.strip())
    else:
        print('没有该单词')



def hjfj1_add():  # add反义词是reduce
    '''加权重函数'''
    global hjfj1, l_str, r_str
    try:
        hjfj1_bt_text = showtag_text1.get('1.0', END)
        l_over = re.sub(rf'\b({hjfj1})\b', f'{l_str}\\1{r_str}', hjfj1_bt_text)
        showtag_text1.delete('0.0', END)
        showtag_text1.insert('insert', l_over.strip())
    except:
        pass

def hjfj1_reduce():
    '''减权重函数'''
    global hjfj1, l_str, r_str
    try:
        hjfj1_bt_text = showtag_text1.get('1.0', END)
        hjfj1_mix = l_str + hjfj1 + r_str
        s = hjfj1_bt_text.index(hjfj1_mix)
        l = list(hjfj1_bt_text)  # 把字符串拆分为列表,列表里面全部是单个字母的字符
        l1 = l
        del l1[s]
        del l1[s + len(hjfj1_mix) - 2]
        ss = len(hjfj1_mix) + 1
        l.insert(s + ss, '')
        l_over = ''.join(l)  # 删改完成列表后重新加入为字符串
        l_over.strip()
        showtag_text1.delete('0.0', END)
        showtag_text1.insert('insert', l_over.strip())
    except:
        pass

ttk.Button(ckou0, text='美丽的', bootstyle=(WARNING, OUTLINE), command=a_hjfj1).place(x=35, y=105)
ttk.Button(ckou0, text='美丽的', bootstyle=(WARNING, OUTLINE), command=b_hjfj1).place(x=35, y=140)#这个只是测试,无需理会,这个能删除唯一指定的单词,但是删除不了单词后边的逗号
ttk.Button(ckou0, text='+', command=hjfj1_add, width=1.5).place(x=100.5, y=105)  # 和按钮相差x85.5坐标
ttk.Button(ckou0, text='-', command=hjfj1_reduce, width=1.5).place(x=0, y=105)  # 和按钮相差x15坐标

ckou0.mainloop()


不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7719558
  • 你也可以参考下这篇文章:【Python从入门到精通】(十)Python流程控制的关键字该怎么用呢?列表推导式,生成器【收藏下来,常看常新】
  • 同时,你还可以查看手册:python- 源文件的字符编码 中的内容
  • 除此之外, 这篇博客: Python现在这么难找工作,属于python的热潮过去了吗?中的 在编程语言市场上有几个新的竞争对手: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    (1).Rust 提供了与 Python 同样的安全性,任何变量不会被意外覆盖。但是,它用所有权(ownership)和借用(borrowing)解决了性能问题。根据 Stack Overflow Insights 的统计,Rust 也是过去几年来最受欢迎的编程语言。

    (2).Go 对于 Python 这样的初学者来说很棒。它是如此简单,以至于维护代码更加容易了。有趣的是:Go 开发人员是市场上收入最高的程序员之一。

    (3).Julia 是一门非常新的编程语言,可以与 Python 一较高下。它填补了大规模技术计算的空白:通常情况下,人们会使用 Python 或 Matlab,然后用 C++ 库来修补整个程序,这在大规模应用时是必需的。现在,人们可以使用 Julia,而不是同时使用两种编程语言。虽然市场上还有其他编程语言,Rust、Go 和 Julia 是修补了 Python 薄弱部分的编程语言。所有这些语言在未来的技术上表现出色,尤其是在人工智能领域。虽然它们的市场份额仍然很小,但从 Stack Overflow 标签的数量可以看出,它们的趋势都很明显:上升。
    在这里插入图片描述
    鉴于目前 Python 已无处不在的流行程度,这些新语言中的任何一门要想取代它,肯定要花上五年的时间,甚至终其“一生”。

    究竟会是哪一门编程语言将取代 Python,是 Rust?Go?Julia?抑或是未来的一门新语言?现在还很难说。但是鉴于 Python 架构中的最基本的性能问题,这些语言中的一门将会不可避免地占据一席之地。

  • 您还可以看一下 CSDN就业班老师的【Python基础语法小案例】通过Python变量管理学员信息课程中的 【Python基础语法小案例】通过Python变量管理学员信息小节, 巩固相关知识点

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^