这是到目前为止我拥有的代码:
<!DOCTYPE html>
<html>
<head>
<script src="https://unpkg.com/jquery@3.3.1/dist/jquery.min.js"></script>
</head>
<body>
<div id="quotesBox"></div>
</body>
</html>
问题在于输出还将打印带有一个特殊字符“我的名字是/理查德”的字符串。因此,我需要用空格替换该特殊字符,最后打印输出为“我的名字叫理查德”。谁能帮我吗?
谢谢!
答案 0 :(得分:1)
您对dict.fromkeys()
的调用在其参数中不包含字符/
。
如果要将所有特殊字符映射到None
,只需将特殊字符列表传递到dict.fromkeys()
就足够了。如果要用空格替换它们,则可以遍历字典并将每个键的值设置为。
例如:
special_chars = "?:/"
special_char_dict = dict.fromkeys(special_chars)
for k in special_char_dict:
special_char_dict[k] = " "
答案 1 :(得分:0)
您可以通过扩展翻译表来实现:
dex = ["My Name is/Richard????::,"]
table = str.maketrans({'?':None,':':None,',':None,'/':' '})
for index, name in enumerate(dex, start = 0):
print('{}.{}'.format(index, name.strip().translate(table)))
输出
0.My Name is Richard
您想用None
替换大多数特殊字符,但前斜杠带有空格。您可以使用其他方法替换正斜杠,就像这里的其他答案一样,也可以如上所述扩展翻译表,将所有其他特殊字符映射到None
并将正斜杠映射到空格。有了这个,您可以为不同的角色进行很多不同的替换。
答案 2 :(得分:0)
或者,您可以按照以下方式使用re.sub
函数:
import re
s = 'Te/st st?ri:ng,'
out = re.sub(r'\?|:|,|/',lambda x:' ' if x.group(0)=='/' else '',s)
print(out) #Te st string
re.sub
的参数含义如下:第一个是模式-它通知re.sub
要替换的子字符串,?
需要转义,否则在这里有特殊含义,{ {1}}的意思是:或,因此|
将寻找re.sub
或?
或:
或,
。第二个参数是函数,该函数返回要代替原始子字符串使用的字符:/
的空格,其他任何字符为/
的空格。第三个参数是要更改的字符串。
答案 3 :(得分:-1)
>>> a = "My name is/Richard"
>>> a.replace('/', ' ')
'My name is Richard'
答案 4 :(得分:-1)