鱼C论坛

 找回密码
 立即注册
查看: 2566|回复: 5

[已解决]关于title()的使用

[复制链接]
发表于 2017-12-12 14:25:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>>restaurant_name = "people's commune"
>>>print(restaurant_name.title())
打印的结果为:
People'S Commune
这里('s)的s也被大写了,而实际需求是('s)的s为小写,及理想结果:People's Commune。初学者请教各位大神,怎么处理,谢谢!
最佳答案
2017-12-12 16:56:29
可以试试
  1. import re
  2. #正则
  3. s = "people's commune"
  4. print(' '.join(map(lambda x:x.capitalize(),re.findall(r'([^ ]+)',s))))
  5. #一般字符串处理
  6. ss = "people's commune"
  7. print(' '.join([x.capitalize() for x in ss.split(' ')]))
复制代码


或者有更好的方法 我不知道
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-12-12 16:07:09 | 显示全部楼层
title函数本身无解

可以用正则方法写一个函数实现
  1. import re
  2. def titlecase(s):
  3.     return re.sub(r"[A-Za-z]+('[A-Za-z]+)?", \
  4.                   lambda mo: mo.group(0)[0].upper() + \
  5.                   mo.group(0)[1:].lower(),s)

  6. print(titlecase( "people's commune"))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-12 16:11:31 | 显示全部楼层
函数是没问题,是你理解不对而已。
如果要按你的要求,你可以先
restaurant_name = "peoples commune"
restaurant_name=restaurant_name.title()
然后想办法插入 ' 即可。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-12 16:20:27 | 显示全部楼层
title()的设计就是这样的,把空格或其他字符分隔的都看作一个单词。
我用个笨办法:
  1. >>> a = "people's commune"
  2. >>> list1 = a.split()
  3. >>> list1 = [str1.capitalize() for str1 in list1]
  4. >>> b = ' '.join(list1)
  5. >>> b
  6. "People's Commune"
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-12 16:56:29 | 显示全部楼层    本楼为最佳答案   
可以试试
  1. import re
  2. #正则
  3. s = "people's commune"
  4. print(' '.join(map(lambda x:x.capitalize(),re.findall(r'([^ ]+)',s))))
  5. #一般字符串处理
  6. ss = "people's commune"
  7. print(' '.join([x.capitalize() for x in ss.split(' ')]))
复制代码


或者有更好的方法 我不知道
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-29 16:17:31 | 显示全部楼层
  1. >>> import string
  2.           
  3. >>> str1 = "that's all, folks"
  4.           
  5. >>> string.capwords(str1)
  6.           
  7. "That's All, Folks"
  8. >>>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-4 17:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表