如何在Python中从字符串中剪切非字母数字前缀和后缀?

问题描述 投票:0回答:2

如何从字符串的开头和结尾剪切不是字母数字的所有字符?

例如:

print(clearText('%!_./123apple_42.juice_(./$)'))
# => '123apple_42.juice'

print(clearText('  %!_also remove.white_spaces(./$)   '))
# => 'also remove.white_spaces'
python regex string prefix suffix
2个回答
2
投票

这家伙抓住字母数字字符之间的所有东西。

import re

def clearText(s):
    return re.search("[a-zA-Z0-9].*[a-zA-Z0-9]", s).group(0)

print(clearText("%!_./123apple_42.juice_(./$)"))

3
投票

你可以使用这种模式:^[^a-zA-Z0-9]+|[^a-zA-Z0-9]+$

说明:

^[^a-zA-Z0-9] - 在字符串的开头匹配一个或多个非字母数字字符(感谢^

[^a-zA-Z0-9]$ - 在字符串末尾匹配一个或多个非字母数字字符(感谢$

qazxsw poi表示交替,因此它在开头或结尾处匹配非字母数字字符串

|

然后用空字符串替换匹配就足够了。

© www.soinside.com 2019 - 2024. All rights reserved.