如何通过取 3 行并将其变成 1 个字符串来保存 space
How to save space by taking 3 lines and turning it into 1 string
我试图通过将 3 行放入 1 个字符串来节省 space。任何人都可以帮我解决这个问题吗?我已经尝试过了,但是没有用。
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()
你可以像这样在一行中完成:
sentence = sentence.replace("(", "").replace(")", "").replace("-", "")
链接这么多 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 '()-'})
因为替换方法 returns 一个字符串你可以简单地做另一个
替换返回的字符串。像 sentence.replace().replace().replace():
这样的东西
sentence = sentence.replace("(", "").replace(")", "").replace("-", "")
从字符串中去除不需要的字符的快速方法是 str.translate
:
>>> '(123)456-7890'.translate(None, '()-')
'1234567890'
Python 3接口:
>>> '(123)456-7890'.translate(dict.fromkeys(ord(c) for c in '()-'))
'1234567890'
您可以在一行中循环执行。如果你有很多替换,我建议在一个循环中做,因为它可以很容易地添加更多,但如果只是少量,那么一行就可以了。
循环:
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)
sentence = ''.join([c for c in sentence if c not in '(-)'])
我更喜欢这个而不是 replace
链接,因为它更容易扩展到更长的字符列表。
我试图通过将 3 行放入 1 个字符串来节省 space。任何人都可以帮我解决这个问题吗?我已经尝试过了,但是没有用。
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()
你可以像这样在一行中完成:
sentence = sentence.replace("(", "").replace(")", "").replace("-", "")
链接这么多 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 '()-'})
因为替换方法 returns 一个字符串你可以简单地做另一个 替换返回的字符串。像 sentence.replace().replace().replace():
这样的东西sentence = sentence.replace("(", "").replace(")", "").replace("-", "")
从字符串中去除不需要的字符的快速方法是 str.translate
:
>>> '(123)456-7890'.translate(None, '()-')
'1234567890'
Python 3接口:
>>> '(123)456-7890'.translate(dict.fromkeys(ord(c) for c in '()-'))
'1234567890'
您可以在一行中循环执行。如果你有很多替换,我建议在一个循环中做,因为它可以很容易地添加更多,但如果只是少量,那么一行就可以了。
循环:
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)
sentence = ''.join([c for c in sentence if c not in '(-)'])
我更喜欢这个而不是 replace
链接,因为它更容易扩展到更长的字符列表。