关闭

Python刷题笔记(4)- 字符串重组

标签: python
397人阅读 评论(0) 收藏 举报
分类:

题目:

Complete the method/function so that it converts dash/underscore delimited words into camel casing. The first word within the output should be capitalized only if the original word was capitalized.

Examples:

# returns "theStealthWarrior"
to_camel_case("the-stealth-warrior") 

# returns "TheStealthWarrior"
to_camel_case("The_Stealth_Warrior")

中文简介:

其实就是去掉字符串中的‘-’或‘_‘连接符,然后除去第一个单词外,其他单词首字母大写连接

想法:

1、历遍字符串,找到单词间隔符’-‘和’_',然后通过两次循环找到首尾的间隔符,提取中间的单词,并让首字母大写

2、输入空字符串,返回空字符串

3、寻找第一个单词和最后一个单词,第一个单词通过一次历遍寻找第一个间隔符,然后跳出循环,最后一个单词通过储存最后次首间隔符的循环数,然后查找出后面的单词

实现:

def to_camel_case(text):
    if text == '':
        return ''
    list = []
    for i in range(len(text)):
        if text[i] == '-' or text[i] == '_':
            list.append(text[:i])
            break
    for i in range(len(text)):
        if text[i] == '-' or text[i] == '_':
            for j in range(i+1,len(text)):
                if text[j] == '-' or text[j] == '_':
                    list.append(text[i+1].upper() + text[i+2:j])
                    break
            k = i    
    list.append(text[k+1].upper() + text[k+2:])
    return ''.join(list)

对比总结:

这种实现方法比较笨拙,采用耿直的思想来进行。通过测试提交后,才恍然大悟应该用split()函数来分割啊,这样就简单多了,根本不需要自己去历遍查找间隔符……通过replace()函数来替代统一间隔符,然后使用split()进行分割,立刻就能得到单词列表,然后用capitalize()函数将后面的单词首字母大写就行了……

def to_camel_case(text):
    if text == '':
        return ''
    list =[string.capitalize() for string in text.replace('-','_').split('_')]
    return text[0] + ''.join(list)[1:]


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

刷刷笔试题~~[字符串类编程]

1.单词接龙 拉姆刚开始学习英文单词,对单词排序很感兴趣。 如果给拉姆一组单词,他能够迅速确定是否可以将这些单词排列在一个列表中,使得该列表中任何单词的首字母与前一单词的为字母相同。 你能编写一个程序...
  • nanaMasuda
  • nanaMasuda
  • 2016-06-03 00:32
  • 1521

java生成4位不重复字符(包含大写字母、小写字母、数字)

java生成四位不重复的序列(大写字母26个、小写字母26个、10个数字)
  • wuzongpo
  • wuzongpo
  • 2016-03-18 15:13
  • 1882

华为机试题: 将数组中的字符串按指定长度重新分割(java)

描述:  请实现接口 convertStringArray。 输入一个字符串数组, 请按指定长度iInputLenth拆分数组中的每个字符串,输出到新的字符串数组中。长度不是iInpu...
  • u010889616
  • u010889616
  • 2016-02-28 16:51
  • 1781

python 学习笔记(4)解析和字符串处理

声明:本文系本人学习python3总结,如有侵权等,请及时告知;                    &#...
  • kevinx_xu
  • kevinx_xu
  • 2013-05-07 14:53
  • 931

<4>python学习笔记——字符串

字符串 字符和元组很相似 >>> str1 = 'I have a dog' >>> str1[:5] 'I hav' >>> str1 'I have a dog' >>> st...
  • xiexiecm
  • xiexiecm
  • 2017-02-25 12:55
  • 129

Python学习笔记4_字符串

字符串基本操作及常用方法
  • LeonWang_Fly
  • LeonWang_Fly
  • 2015-07-15 16:25
  • 326

python学习笔记(4):字符串及编码问题

在计算机语言中,通常只认识英文字母和数字,但不同国家需要对自己的语言进行设置,使得计算机也能够认识,这个时候,Unicode也就应运而生。Unicode(统一码、万国码、单一码)是计算机科学领域里的一...
  • qq_21089969
  • qq_21089969
  • 2017-03-15 20:25
  • 198

判断一个字符串能否在顺序重组后成为回文串

  • 2014-05-12 18:36
  • 673B
  • 下载

字符串翻转(reverse)及相关扩展(数组元素交换重组等)

1、基本问题:字符串翻转(strReverse),就是将一个字符串倒转,如abcdef 翻转后是fedcba   其基本思路就是:将字符串中下标为(i)的元素与下标为 (n-i-1) 的元素交换:时间...
  • jim_wei
  • jim_wei
  • 2011-04-29 09:55
  • 881

IPv4数据报的分段与重组

IPv4数据报的分段和重组
  • u011784495
  • u011784495
  • 2017-05-12 12:33
  • 776
    个人资料
    • 访问:9394次
    • 积分:191
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档
    最新评论