首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么str.capitalize()不能像我预期的那样工作?

为什么str.capitalize()不能像我预期的那样工作?
EN

Stack Overflow用户
提问于 2020-10-17 02:41:23
回答 2查看 72关注 0票数 1

如果我没有提供足够的信息,请让我知道。该程序的目标是将每个句子的第一个字母大写。

代码语言:javascript
复制
usr_str = input()

def fix_capitalization(usr_str):
  list_of_sentences = usr_str.split(".")
  list_of_sentences.pop() #remove last element: ""
  new_str = ''
  for sentence in list_of_sentences:
    new_str += sentence.capitalize() + "."
  return new_str

print(fix_capitalization(usr_str))

例如,如果我输入“嗨。你好。嘿”。我希望它会输出"Hi。Hello。嘿“。但是,它会输出"Hi。hello。嘿“。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-17 02:48:22

另一种方法是构建一个字符串列表,然后将它们连接起来:

代码语言:javascript
复制
def fix_capitalization(usr_str):
  list_of_sentences = usr_str.split(".")
  
  output = []
  for sentence in list_of_sentences:
    new_sentence = sentence.strip().capitalize()
    # If empty, don't bother
    if new_sentence:
      output.append(new_sentence)
  
  # Finally, join everything
  return ". ".join(output) +"."
票数 1
EN

Stack Overflow用户

发布于 2020-10-17 02:49:16

您输入的句子之间有空格。现在,当您拆分列表时,列表位于“.”字符空格仍然保留。我检查了拆分列表时列表中的元素是什么,结果是这样的。

“”“

‘嗨’,‘你好’,‘嘿’,'‘

“”“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64394731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档