尝试将字母数字部分与字符串Eg分开:如果传递的输入为
BMW X5
Run Code Online (Sandbox Code Playgroud)
我将得到的输出看起来像
X5
Run Code Online (Sandbox Code Playgroud)
使用内置函数.isalnum()将字母数字与其他单词分开,但输出仍然显示错误。的
name= 'BMW X5'
if name.isalnum():
model = list(filter(lambda x: x.isalnum(), name.strip().split()))
else:
model = name
Run Code Online (Sandbox Code Playgroud)
预期输出X5,但是这段代码的输出是'BMW X5'
添加not str.isalpha:
name= 'BMW X5'
if name.replace(' ', '').isalnum():
model = ' '.join(i for i in name.split() if i.isalnum() and not i.isalpha())
else:
model = name
print(model)
Run Code Online (Sandbox Code Playgroud)
输出:
'X5'
Run Code Online (Sandbox Code Playgroud)
问题是如果纯粹按字母顺序str.isalnum返回:Truestr
'AAA'.isalnum()
# True
Run Code Online (Sandbox Code Playgroud)
因此,删除纯字母字母的单词str.isalpha == True就可以了。
| 归档时间: |
|
| 查看次数: |
48 次 |
| 最近记录: |