如何在Python中使用Regex移除字符串中的特殊字符与数字,保留单词
使用Python正则表达式提取字符串中的纯字母单词
这问题很常见,用Python的re模块就能轻松搞定,刚好能满足你只保留单词、移除数字和特殊字符的需求。咱们直接上解决方案:
完整代码实现
import re # 你的原始字符串 stringvalue = "UPI-917020028084740-GOOG-PAYMENT@OKAXIS-805214272567-UPI" # 用正则匹配所有由大小写字母组成的连续片段 letter_groups = re.findall(r'[A-Za-z]+', stringvalue) # 将匹配到的片段用空格拼接成最终结果 cleaned_result = ' '.join(letter_groups) print(cleaned_result) # 输出:UPI GOOG PAYMENT OKAXIS UPI
代码解释
- 正则表达式
[A-Za-z]+:这个模式会匹配所有由大小写字母组成的连续序列,自动忽略数字(比如917020028084740)和特殊字符(比如-、@)。+表示匹配一个或多个字母,确保我们拿到完整的单词,而不是单个字母。 re.findall():这个方法会遍历整个字符串,把所有符合正则模式的片段提取出来,返回一个列表,这里得到的是['UPI', 'GOOG', 'PAYMENT', 'OKAXIS', 'UPI']。' '.join():把列表中的所有元素用空格连接起来,就得到了你想要的空格分隔的纯单词字符串。
如果之后需要统一单词的大小写(比如全部转小写或大写),只需要在拼接的时候处理一下,比如:
cleaned_result = ' '.join(group.upper() for group in letter_groups)
内容的提问来源于stack exchange,提问作者rakiii h
相关产品推荐
相关产品推荐

