2024-09-30 12:27:18 发布
网友
我想知道如何实现字符串检查,我想确保字符串的第一个(和最后一个)字符是字母数字。我知道isalnum,但是如何使用它来实现这个检查/替换呢?
isalnum
所以,我有一个这样的字符串:
st="-jkkujkl-ghjkjhkj*"
我想回去:
谢谢。。
虽然不是你想要的,但是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
jkkujkl-ghjkjhkj
编辑:
如果您的特殊字符在集合中:!”#$%&;\'()*+,-./:;<;=>;?@[\]^{{}~
@Abhijit的回答简单明了得多。在
如果您不确定,那么这个regex版本更好。在
可以使用以下两个表达式:
st = re.sub('^\W*', '', st) st = re.sub('\W*$', '', st)
这将删除字符串开头和结尾的所有非alpha字符,而不仅仅是第一个字符。在
虽然不是你想要的,但是str.str.带应该符合你的目的
您可以使用如下所示的regex:
输出:
jkkujkl-ghjkjhkj
编辑:
如果您的特殊字符在集合中:!”#$%&;\'()*+,-./:;<;=>;?@[\]^{{}~
@Abhijit的回答简单明了得多。在
如果您不确定,那么这个regex版本更好。在
可以使用以下两个表达式:
这将删除字符串开头和结尾的所有非alpha字符,而不仅仅是第一个字符。在
相关问题 更多 >
编程相关推荐