【发布时间】:2023-02-09 15:29:02
【问题描述】:
我需要从字符串的前 4 个字符中删除字母数字以外的字符。我想出了如何对整个字符串执行此操作,但不确定如何仅处理前 4 个值。
Data : '1/5AN 4/41 45'
Expected: '15AN 4/41 45'
这是从字符串中删除非字母数字字符的代码。
strValue = re.sub(r'[^A-Za-z0-9 ]+', '', strValue)
有什么建议么?
【问题讨论】:
我需要从字符串的前 4 个字符中删除字母数字以外的字符。我想出了如何对整个字符串执行此操作,但不确定如何仅处理前 4 个值。
Data : '1/5AN 4/41 45'
Expected: '15AN 4/41 45'
这是从字符串中删除非字母数字字符的代码。
strValue = re.sub(r'[^A-Za-z0-9 ]+', '', strValue)
有什么建议么?
【问题讨论】:
使用字符串切片是一种可能性:
import re
strValue = '1/5AN 4/41 45'
strValue = re.sub(r'[^A-Za-z0-9 ]+', '', strValue[:4]) + strValue[4:]
print(strValue)
输出:15AN 4/41 45
【讨论】:
只需使用 isalnum() 并连接字符串
''.join([x for x in Data[0:4] if x.isalnum()]) + Data[4:]
#output
'15AN 4/41 45'
【讨论】:
要删除 python 中的非字母数字字符,请使用它;
重新进口
string = re.sub(r'[^a-zA-Z0-9]', "", 字符串)
re 表示正则表达式/正则表达式。
【讨论】: