【问题标题】:Capitalizing without downcasing string in python在python中大写而不用小写字符串
【发布时间】:2019-11-08 11:02:30
【问题描述】:

我正在寻找一个函数来强制我的字符串的第一个字符大写,但不修改以下字符的大小写。

>>> print('FRANCE'.capitalize()+' while wished answer will be "FRANCE"')
France while wished answer will be "FRANCE"
>>> print('franCE'.capitalize()+' while wished answer will be "FranCE"')
France while wished answer will be "FranCE"

当然,我知道我可以通过直接操作第一个字符来实现。

编辑:但是操作第一个字符意味着您已经检查它是否存在,这使得代码比我想要的要复杂。

【问题讨论】:

  • s = 'franCE', print(s[0].upper() + s[1:]) -> '法国'
  • 如果你知道怎么做,你对这个问题有什么期望?
  • 我在找函数/参数...
  • 你为什么不试着写一个你想要的函数呢?如果您对此感到困惑,那么有人可能会帮助您。

标签: python capitalization


【解决方案1】:
s = 'franCE'
print(s[0].upper() + s[1:])

【讨论】:

  • 您假设字符串至少有 2 个字符...这是不想要的,这就是我正在寻找构建函数的原因
  • 你的意思是s = '' -> ''。你应该更新你的问题,这样说。
  • @Sigmun 此代码仅假定字符串至少有 一个 字符。
【解决方案2】:

也许您正在寻找这样的功能:

def upper_first(s):
    return s[0].upper() + s[1:] if s else s

(无耻地从帕拉斯耆那偷来)

【讨论】:

  • 你甚至可以用return s and s[0].upper() + s[1:]快捷方式
猜你喜欢
  • 2020-09-13
  • 1970-01-01
  • 1970-01-01
  • 2012-01-03
  • 2021-12-17
  • 1970-01-01
  • 2021-12-06
  • 2016-01-25
  • 1970-01-01
相关资源
最近更新 更多