Python字符串中的第一个和最后一个字符必须是字母数字,否则为d

2024-09-30 12:27:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何实现字符串检查,我想确保字符串的第一个(和最后一个)字符是字母数字。我知道isalnum,但是如何使用它来实现这个检查/替换呢?

所以,我有一个这样的字符串:

st="-jkkujkl-ghjkjhkj*"

我想回去:

^{pr2}$

谢谢。。


Tags: 字符串字母数字字符stpr2isalnumghjkjhkj
3条回答

虽然不是你想要的,但是str.str.带应该符合你的目的

import string

st.strip(string.punctuation)
Out[174]: 'jkkujkl-ghjkjhkj'

您可以使用如下所示的regex:

import re
# \W is a set of all special chars, and also include '_'
# If you have elements in the set [\W_] at start and end, replace with ''
p = re.compile(r'^[\W_]+|[\W_]+$') 
st="-jkkujkl-ghjkjhkj*"
print p.subn('', st)[0]

输出: jkkujkl-ghjkjhkj

编辑:

如果您的特殊字符在集合中:!”#$%&;\'()*+,-./:;<;=>;?@[\]^{{}~

@Abhijit的回答简单明了得多。在

如果您不确定,那么这个regex版本更好。在

可以使用以下两个表达式:

st = re.sub('^\W*', '', st)
st = re.sub('\W*$', '', st)

这将删除字符串开头和结尾的所有非alpha字符,而不仅仅是第一个字符。在

相关问题 更多 >

    热门问题