如何从字符串的开头和结尾剪切不是字母数字的所有字符?
例如:
print(clearText('%!_./123apple_42.juice_(./$)'))
# => '123apple_42.juice'
print(clearText(' %!_also remove.white_spaces(./$) '))
# => 'also remove.white_spaces'
这家伙抓住字母数字字符之间的所有东西。
import re
def clearText(s):
return re.search("[a-zA-Z0-9].*[a-zA-Z0-9]", s).group(0)
print(clearText("%!_./123apple_42.juice_(./$)"))
你可以使用这种模式:^[^a-zA-Z0-9]+|[^a-zA-Z0-9]+$
说明:
^[^a-zA-Z0-9]
- 在字符串的开头匹配一个或多个非字母数字字符(感谢^
)
[^a-zA-Z0-9]$
- 在字符串末尾匹配一个或多个非字母数字字符(感谢$
)
qazxsw poi表示交替,因此它在开头或结尾处匹配非字母数字字符串
|
然后用空字符串替换匹配就足够了。