我试图通过将3行放入1个字符串来节省空间。任何人都可以帮助我,我已经尝试了这个,但它没有用。
sentence = sentence.replace ("(", "" + ")","")
def main():
sentence = input("Enter a 10 digit telephonenumber in the format (XXX)XXX-XXXX: ")
sentence = sentence.replace ("(", "")
sentence = sentence.replace (")", "")
sentence = sentence.replace ("-", "")
print(sentence)
main()
答案 0 :(得分:1)
你可以这样做一行:
sentence = sentence.replace("(", "").replace(")", "").replace("-", "")
答案 1 :(得分:1)
链接这么多replace()
是相当丑陋的。您可以使用正则表达式
import re;
sentence = input("Enter a 10 digit telephonenumber in the format (XXX)XXX-XXXX: ")
sentence = re.sub('[-\(\)]', '', sentence)
您也可以使用translate()
sentence.translate({ord(i):None for i in '()-'})
答案 2 :(得分:1)
由于replace方法返回一个字符串,你可以简单地做另一个 替换返回的字符串。像sentence.replace()。replace()。replace():
sentence = sentence.replace("(", "").replace(")", "").replace("-", "")
答案 3 :(得分:1)
从字符串中删除不需要的字符的快速方法是使用str.translate
:
>>> '(123)456-7890'.translate(None, '()-')
'1234567890'
Python 3界面:
>>> '(123)456-7890'.translate(dict.fromkeys(ord(c) for c in '()-'))
'1234567890'
答案 4 :(得分:1)
您可以在一行循环中执行此操作。如果您有很多替换品,我建议您在循环中进行,因为它可以轻松添加更多,但如果它只是少量,那么一行就可以了。
循环:
def main():
sentence = input("Enter a 10 digit telephonenumber in the format (XXX)XXX-XXXX: ")
remove_chars = list("()-")
for char in remove_chars:
sentence = sentence.replace(char, "")
print(sentence)
单行:
def main():
sentence = input("Enter a 10 digit telephonenumber in the format (XXX)XXX-XXXX: ")
sentence = sentence.replace("(", "").replace(")", "").replace("-", "")
print(sentence)
答案 5 :(得分:1)
rdd.mapValues(foo(_, "sr.no")
我更喜欢sentence = ''.join([c for c in sentence if c not in '(-)'])
链接,因为它更容易扩展到更长的字符列表。