字符串相关操作

Posted romacle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串相关操作相关的知识,希望对你有一定的参考价值。

  所有标准的序列操作(索引,分片,乘法,判断成员资格,长度,取最小值和最大值)对字符串同样适用,但字符串都是不可变的,所以不可进行分片赋值操作。

  字符串方法

  strip方法返回去除两侧(不包括内部)空格的字符串。

x = ‘my name is xxx     ‘
print(x.strip())
>>>my name is xxx

  也可以指定需要去除的字符,将他们列为参数即可

x = ‘***!my* name is! xxx!!*!**!!‘
print(x.strip(‘!*‘))
>>>my* name is! xxx

  #lstrip/rstrip去除字符串左侧/右侧的空格回车。

  count统计某个字符在字符串中出现的次数,或在字符串指定区间内完成上述操作。

x = ‘swhthdaefaaituntjdqvhyrd‘
print(x.count(‘h‘))
>>>3

  从索引值0-6范围的字符中统计h出现的次数

x = ‘swhthdaefaaituntjdqvhyrd‘
print(x.count(‘h‘,0,6))
>>>2

  find方法可以在一个较长的字符串中查找子串,它返回子串所在位置的最左端索引。如果没有找到,则返回 -1。

x = ‘www.baidu.com‘
print(x.find(‘com‘))
print(x.find(‘cn‘))
>>>10
>>>-1

  index方法用于从字符串中找出某个对象第一个匹配的索引位置,如果这个对象不再其中会报一个异常。

x = ‘hello,world!‘
print(x.index(‘o‘))
>>>4

  #find和index方法类似,相同点是如果查找的字符在字符串中,那么都会返回字符串中最左端的索引位置,不同点是如果字符不在字符串中,find返回-1。index则会抛出valueError异常。

  rfind方法用来查询指定字符最后位置的索引

info = ‘my name is ... and i am ... old‘
print(info.rfind(‘m‘))
>>>22

  #最后一个字符‘m‘的索引位置是22

  join方法用来连接序列中的元素,是split的逆方法

n = [‘hong‘,‘huang‘,‘lan‘]
x = ‘...‘
print(x.join(n))
>>>hong...huang...lan

  #用字符串(这里是‘...‘)替代掉列表中的逗号,列表没有join方法,join方法只对字符串生效(列表的元素必须是且只能是字符串),对列表进行操作,返回字符串

  split方法通过制定分割符对字符串进行切片

url = ‘www.baidu.com‘
print(url.split(‘.‘))
print(url.split(‘baidu‘))
>>>[‘www‘, ‘baidu‘, ‘com‘]
>>>[‘www.‘, ‘.com‘]

  #使用逗号来替换掉字符串中指定的内容,返回的是个列表

  caplitalize方法用来将字符串小写首字母转换成大写

n = ‘hello,world!‘
print(n.capitalize())
>>>Hello,world!

  upper,lower方法将字符串大写转换成大/小写

n = ‘Hello,World!‘
print(n.upper())
>>>HELLO,WORLD!
n = ‘Hello,World!‘
print(n.lower())
>>>hello,world!

  swapcase方法将字符串大小写转换

n = ‘Hello,World!‘
print(n.swapcase())
>>>hELLO,wORLD!

  center方法填充字符串宽度,使用原有字符串加填充字符构成指定长度的新的字符串

n = ‘hello,world!‘
print(n.center(20))
print(n.center(20,‘-‘))
>>>    hello,world!    
>>>----hello,world!----

  ljust,rjust方法用于指定扩展字符串长度。

n = ‘hello,world!‘
print(n.ljust(5))
print(n.ljust(20,‘*‘))
>>>hello,world!
>>>hello,world!********

n = ‘hello,world!‘
print(n.rjust(5))
print(n.rjust(20,‘*‘))
>>>hello,world!
>>>********hello,world!

  #指定长度小于字符串长度则无效

  replace把字符串中的旧字符替换成新字符,如果指定第三个参数,则替换不超过3次

x = ‘this is a test‘
print(x.replace(‘is‘,‘xxx‘))
>>>thxxx xxx a test
#次数参数
str = "this is string example....wow!!! this is really string"
print(str.replace(‘is‘,‘was‘,3))
>>>thwas was string example....wow!!! thwas is really string

  以下方法只返回两个结果:True或False

  endswith判断字符串是否以某个字符结尾

  isalnum判断字符串是否由字母和数字组成

  isalpha判断字符串是否只有字母组成

  iscecimal 判断字符串是否是十进制

  isdigit判断字符串是否是整数

  isidentifier判断是不是一个合法的变量名(变量名命名规则)

  islower判断字符串是否是小写

  isnumeric判断字符串是否是整数(isdigit什么区别)

  istitle判断字符串开头是否是大写

  isupper判断字符串是否全是大写

 

以上是关于字符串相关操作的主要内容,如果未能解决你的问题,请参考以下文章

滑动 ViewPager 时如何清除片段相关状态

VSCode自定义代码片段——git命令操作一个完整流程

AJAX相关JS代码片段和部分浏览器模型

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

spark关于join后有重复列的问题(org.apache.spark.sql.AnalysisException: Reference '*' is ambiguous)(代码片段