第五章 字符串方法

5.3.1 center方法

       center方法用于将一个字符串在一定的宽度区域居中显示,并在字符串的两侧填充指定的字符(只能是长度为1的字符串),默认填充空格。

#使用center方法,在宽度30的区域居中显示,两侧区域填充空格
print("<" + "hello".center(30) + ">")
#使用format方法,在宽度30的区域居中显示,两侧区域填充空格
print("<{:^30}>".format("hello"))
#使用center方法,在宽度30的区域居中显示,两侧区域填充*
print("<" + "hello".center(30,"*") + ">")
#使用format方法,在宽度30的区域居中显示,两侧区域填充*
print("<{:*^30}>".format("hello"))

5.3.2 find方法

       find方法用于在一个大字符串中查找子字符串,如果找到,find返回子字符串的第1个字符在大字符串中出现的位置,如果未找到,find方法返回-1。索引位置左闭右开。

s = input("请输入一个大字符串:")

while True:
    subString = input("请输入一个子字符串:")
    if subString == "end":
        break 
    startStr = input("请输入开始索引:")
    endStr = input("请输入结束索引:")
    start = 0
    end = len(s)
      
    if startStr != "":
        start = int(startStr)
    if endStr != "":
        end = int(endStr)
    print("'{}'在'{}'的出现的位置是{}:".format(subString, s,s.find(subString,start,end)))

5.3.4 split方法

       split方法与join方法互为逆方法。split通过一个分割符将字符串拆分成一个序列。默认split会把(空格符、制表符、换行符)作为分隔符。

#运行结果:['1','2','3','4','5']
print("1+2+3+4+5".split("+"))
#运行结果:['','usr,'local','nginx']
list = '/usr/local/nginx'.split('/')
print(list)
#C:\usr\local\nginx
print("C:" + "\\".join(list))
#['I','like','python']
print("I like python".split())

5.3.5 lower方法、upper方法和capwords函数

       lower方法和upper方法分别用于将字符串中的所有字母字符转换为小写和大写。capwords是string模块中的函数,可以将字符串中的单词首字母转化为大写。

print("HEllo".lower())
print("hello".upper())
list = ["Python", "Ruby", "Java", "KOTLIN"]
if "Kotlin" in list:
    print("找到Kotlin了")
else:
    print("未找到Kotlin")

for lang in list:
    if "kotlin" == lang.lower():
        print("找到Kotlin了")
        break;
		
s = "i not only like Python, but also like Kotlin."
import string
print(string.capwords(s))

       某些情况下,如果无法保证字符串的大小写,可统一转化为小写或大写再进行比较。

5.3.6 replace方法

       replace方法用于将一个字符串中的子字符串替换成另外一个字符串。该方法返回被替换后的字符串。如果在原字符串中未找到要替换的字符串,将返回原字符串。

#运行结果:This is a bike
print(“This is a car”.replace(“car”,”bike”))
#运行结果:This is a car
print(“This is a car”.replace(“place”,”bike”))

5.3.7 strip方法

       strip方法用于截取字符串前后的空格,或截取字符串前后指定的字符。

print("  geekori.com   ".strip())
print("  <   geekori.com   >  ".strip())

langList = ["python", "java", "ruby", "scala", "perl"]
lang = "  python  "
if lang in langList: 
    print("<找到了python>")
else:
    print("<未找到python>")
    
if lang.strip() in langList:
    print("{找到了python}")
else:
    print("{未找到python}")
#运行结果:Hello& *World    
print("***  &* Hello& *World**&&&".strip(" *&"))

       注意1:某些情况下需要转化为小写或大写,并去掉两端空格,再进行比较。
       注意2:只去掉两端的空格,并不会去掉中间的空格。
       注意3:指定的任意单个字符都会起作用。

5.3.8 translate方法、maketrans方法

       translate方法用于替换单个字符,replace方法用于替换一个子字符串,从效率上来说,translate方法更快些。
       首先要使用maketrans方法创建一个替换表,例如,将“ak”替换成“*$”。

table = s.maketrans(“ak”,*$”)
s = "I not only like python, but also like kotlin."
table = s.maketrans("ak", "*$")
#运行结果:{97:42,107,36}
print(table)
#运行结果:2
print(len(table))
#根据替换表,替换单个字符
print(s.translate(table))
#替换单个字符的同时,删除指定的字符,此处为删除空格
table1 = s.maketrans("ak", "$%", " ")
print(s.translate(table1))

       注意1:会替换所有匹配到的字符。
       注意2:maketrans方法第3个参数可以指定删除的字符,参数长度可大于1,例如“ab”表示删除所有出现的“a”或“b”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值