如何使用正则表达式删除单词中的最后一个字母 python

How to remove last alphabet in a word using regular expression python

''' string = (" qtoday X fridayq qblue aqb") 字符串 = re.sub('^ q+', '', 字符串) 字符串

我只想删除单词开头和结尾的 aplhabet q...

你可以试试:

inp = "qtoday X fridayq qblue aqb"
output = re.sub(r'\bq|q\b', '', inp)
print(output)

这会打印:

today X friday blue aqb

正则表达式模式 \bq|q\b 与字母 q 相匹配,前提是字母 q 前面或后面有单词边界,即它是单词中的起始字母或结尾字母。

这里的一个极端情况可能是如果您想保留 q 如果它独立出现,例如

inp = "qtoday q fridayq aqb"
output = re.sub(r'\bq(?=\w)|(?<=\w)q\b', '', inp)
print(output)

这会打印:

today q friday aqb

在这里,我们通过至少一个其他单词字符检查 q 是 preceeded/followed 的正则表达式模式,以节省独立的 q.