如何使用Python从字符串中删除符号?

39 浏览
0 Comments

如何使用Python从字符串中删除符号?

我对Python和正则表达式都是初学者,我想知道如何创建一个字符串,将其中的符号替换为空格。非常感谢任何帮助。

例如:

how much for the maple syrup? $20.99? That's ricidulous!!!

转换为:

how much for the maple syrup 20 99 That s ridiculous

0
0 Comments

如何使用Python从字符串中删除符号?

在Python中,有多种方法可以从字符串中删除符号,其中一种方法是使用正则表达式。下面是使用正则表达式的示例代码:

import re
s = "how much for the maple syrup? $20.99? That's ridiculous!!!"
re.sub(r'[^\w]', ' ', s)

运行以上代码后,输出结果为:'how much for the maple syrup 20 99 That s ridiculous '。

在正则表达式中,`\w`表示匹配字母、数字和下划线。而`[^\w]`表示匹配除了字母、数字和下划线之外的任何字符。

需要注意的是,`^\w`在方括号外的意思是匹配行首的字母、数字或下划线。只有在方括号内部(`[^\w]`)才表示忽略方括号内的所有字符。

除了使用`[^\w]`之外,还可以使用`\W`来匹配与`\w`相反的字符。

另外,如果想一次性删除多个连续的符号,可以使用`[/\W+/g]`。

值得注意的是,上述方法是否能够保留或删除包含特殊字符'é'的字符取决于具体的实现。在上述示例中,特殊字符'é'将被删除。如果想保留特殊字符,可以根据实际需求进行修改。而`r'[^\w]'`等同于`r'\W'`。

0
0 Comments

如何用Python从字符串中删除符号?

有时候,用正则表达式来解决这个问题的时间比直接在Python中编写代码要长。

import string
s = "how much for the maple syrup? $20.99? That's ricidulous!!!"
for char in string.punctuation:
    s = s.replace(char, ' ')

如果你需要其他字符,你可以改用白名单或扩展你的黑名单。

白名单示例:

whitelist = string.letters + string.digits + ' '
new_s = ''
for char in s:
    if char in whitelist:
        new_s += char
    else:
        new_s += ' '

使用生成器表达式的白名单示例:

whitelist = string.letters + string.digits + ' '
new_s = ''.join(c for c in s if c in whitelist)

我刚刚在我正在进行的项目中使用了这种白名单方法。谢谢!

+1,非常Pythonic,我喜欢。

0
0 Comments

问题出现的原因:用户希望知道如何使用Python从字符串中删除符号。

解决方法:使用string.replace()函数。

在Python中,可以使用string.replace()函数来删除字符串中的特定符号。该函数接受两个参数,第一个参数是要被替换的符号,第二个参数是用来替换的字符串。通过将第二个参数设置为空字符串,即可实现删除符号的效果。

在上述示例中,用户首先使用dir()函数查看字符串对象的方法,发现了replace()方法。接着,用户将待处理的字符串赋值给变量a,然后使用a.replace()调用replace()方法,传入要被替换的符号"'"和用来替换的字符串" ",最终得到了替换后的结果'hello s'

要从Python字符串中删除符号,可以使用string.replace()函数,并将要被替换的符号设置为空字符串。这个方法简单而高效,可以帮助用户轻松处理字符串中的符号。

0