计算不带空格、句点或逗号的输入长度

新手上路,请多包涵

你如何计算字符串的长度(例如“你好,约翰先生。祝你有美好的一天。”去掉逗号、句号和空格?

 string = "Hello, Mr. John. Have a good day."
print(len(string))

计数应该是 23。我用逗号、句点和空格得出 33。

原文由 Macro 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 658
2 个回答

@yixizhou 的答案简单而准确,是一个很好的答案,但如果你想避免其他事情,你可以像这样使用正则表达式来获得正确的长度

import re
string = "Hello, Mr. John. Have a good day."
print(len("".join(re.findall(r'[A-Z0-9a-z]', string))) )

原文由 Amin MG 发布,翻译遵循 CC BY-SA 4.0 许可协议

user_text = input()

comma_count = 0
period_count = 0
space_count = 0
for char in user_text:
    initial_len = len(user_text)
    if char == ',':
        comma_count += 1
    elif char == '.':
        period_count += 1
    elif char == ' ':
        space_count += 1
not_allowed = (comma_count + period_count + space_count)
print(initial_len - not_allowed)

我针对此问题的新手解决方案设置了一个 for 循环来评估输入的每个字符和总字符串长度。每个字符都与不需要的字符类型进行比较,单独计算它们。

原文由 Smallfry 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题