字符串的切片用法与列表的施用格局一样

字符串常用方法

1、isalnum():判断字符串所有的字符都是字母或者数字。再次回到true和false

capitalize()

String.capitalize() 将字符串首字母变为题写

name = 'xiaoming'

new_name = name.capitalize()

print(new_name) 

 

运转结果:
Xiaoming

In [1]: str1=’jiangwei520′

count()

String.count() 总计字符现身的次数

name = 'xiaoming'

name_num = name.count('i')

print(name_num)  # 2

 

In [2]: str2=’jiang wei’

center()

String.center()

#打印输出字符,让字符串放在中间
name = 'Libai'
print(name.center(50,'*'))

 

出口结果如下:

**********************Libai***********************

In [3]: str3=’520′

endswith()

String.endswith() 判断是否以指定的字符串结尾

name = 'Libai'

new_val = name.endswith('bai')
print(new_val)

 

结果为:
True

In [4]: str4=’520 1314′

find()

String.find() 查找字符串在原字符串中的地点,再次回到所在索引值

name = 'this is test plaintext'

print(name.find('this'))
print(name.find('is'))

 

在find()方法中,同样可以使用切片。

name = 'this is test plaintext'

test_val = name[name.find('test'):12]

print(test_val)  #test

 

字符串的切片用法与列表的采纳方法相同。

In [5]: str1.isalnum()
Out[5]: True

format()

String.format() 输出指定的始末

user_show_name = 'hello,{name},welcome to here,do you like ,{name}'

print(user_show_name.format(name='yanyan'))

 

输出效果如下:

hello,yanyan,welcome to here,do you like ,yanyan

In [6]: str2.isalnum()
Out[6]: False

format_map()

String.format_map() 将字典中的参数传递进字符串中,输出

hello = "My name is {name},I am {age} years old.I like {hobby}"

# 使用format_map()方法来传递值
print(hello.format_map({'name':'yanyan','age':19,'hobby':'music travel'}))

 

In [7]: str3.isalnum()
Out[7]: True

isalnum()

String.isalnum() 判断字符串中是否全体为数字或者英文

test_str01 = 'helloIam19yearsold'
test_str02 = 'hello,I am 19 years old'


print(test_str01.isalnum()) # True
print(test_str02.isalnum()) # False

 

isalnum()方法判断字符串中是不是全体为数字如故英文,符合就回去True,不符合就赶回False,若是中间含有有号子或者空格之类的特殊字符也会再次来到False。

In [8]: str4.isalnum()
Out[8]: False

isalpha()

String.isalpha() 判断字符串中是否全体为纯英文字符

test_str03 = 'hello I love you'
test_str04 = 'helloILoveYou'
print(test_str03.isalpha()) # False
print(test_str04.isalpha()) # True

 

2、isalpha():判断字符串所有的字符都是字母。再次回到true和false

isdigit()

String.isdigit() 判断字符串中是否全部为整数

# isdigit() 判断是否为整数
print('123'.isdigit()) # True
print('hello'.isdigit()) # False

 

In [11]: s1='j w'

In [12]: s2='jw'

In [13]: s1.isalpha()
Out[13]: False

In [14]: s2.isalpha()
Out[14]: True

isidentifier()

String.isidentifier() 判断是不是一个官方的标识符

# isidentifier() 判断是不是一个合法的标识符
print('test'.isidentifier()) # True
print('12'.isidentifier()) # False
print('_aa'.isidentifier()) # True

 

 3、isdigit():认清字符串所有的字符都是数字。重临true和false

判定字符串是否全部为题写或者小写

# islower() 判断字符串是否全部是小写
print('Hello,world'.islower()) # False
# isupper() 判断字符串是否全部为大写
print('Hello,world'.isupper()) # False

 

In [15]: n1='12 34'

In [16]: n2='1234'

In [17]: n3='1.1'

In [18]: n1.isdigit()
Out[18]: False

In [19]: n2.isdigit()
Out[19]: True

In [20]: n3.isdigit()
Out[20]: False

join()

sep.join(seq)
连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串

# 创建一个列表
name = ['张学友','刘德华','郭富城','黎明']

print('--'.join(name))

 

出口结果如下:

张学友--刘德华--郭富城--黎明

4、islower():判断所有的字符都是小写。

ljust()

String.ljust(size,替换符号)
以前向后开始估算,当字符串的长度超越size时,超越部分用替换符号替代

In [23]: s1='j w'

In [24]: s2='jw'

In [25]: s3='JW'

In [26]: s1.islower()
Out[26]: True

In [27]: s2.islower()
Out[27]: True

In [28]: s3.islower()
Out[28]: False

rjust()

String.rjust(size,替换符号)
从后迈入初始估计,当字符串的长度领先size时,超过部分用替换符号替代

5、isupper():判断所有的字符都是大写。

lower 将字符串大写变成小写

String.lower()

# 创建一个字符串
str = "hello,I am LiBai,I am 23 years old ,I like travel"

# lower 将字符串大写变成小写
print(str.lower())

 

In [29]: s1='J w'

In [30]: s2="J W"

In [31]: s3="JW"

In [32]: s4='Jw'

In [33]: s1.isupper()
Out[33]: False

In [34]: s2.isupper()
Out[34]: True

In [35]: s3.isupper()
Out[35]: True

In [36]: s4.isupper()
Out[36]: False

upper 将字符串小写变成大写

String.upper()

# 创建一个字符串
str = "hello,I am LiBai,I am 23 years old ,I like travel"

# 将字符串小写变成大写
print(str.upper())

 

Tip:下边的lower()方法和upper()方法改变字符串后将改成的结果再次来到,可是原本的字符串并不会变动。

6、istitle():判断每个单词的首字母都是大写。

lstrip 去掉字符串右边的空格或者回车

String.lstrip()

print('-----------')
# 创建一个字符串
str = "\nhello,I am LiBai,I am 23 years old ,I like travel"

print(str.lstrip())

 

输出结果如下:

-----------
hello,I am LiBai,I am 23 years old ,I like travel

除了lstrip 还有rstrip和 strip方法。

In [37]: s1='hello world'

In [38]: s2='Hello World'

In [39]: s3='Hello,world'

In [40]: s4='HELLO WORLD'

In [41]: s1.istitle()
Out[41]: False

In [42]: s2.istitle()
Out[42]: True

In [43]: s3.istitle()
Out[43]: False

In [44]: s4.istitle()
Out[44]: False

replace 替换

String.replace(old,new,count)
将字符串中的old字符替换为New字符,count为轮换的个数

str = 'hello,world,hello'

print(str.replace('hello','Hello',1))

 

输出的听从如下:
Hello,world,hello

7、lower():转小写

split

String.split() 切割

str = 'hello,world,hello'

# 默认以空格为分割
print(str.split()) # ['hello,world,hello'] 单词之间没有空格,所以所有的内容为一个元素
# 以o为分割
print(str.split('o')) # ['hell', ',w', 'rld,hell', '']
# 以逗号分割
print(str.split(',')) # ['hello', 'world', 'hello']

 

In [47]: s4
Out[47]: 'HELLO WORLD'

In [48]: s4.lower()
Out[48]: 'hello world'

In [49]: s2
Out[49]: 'Hello World'

In [50]: s2.lower()
Out[50]: 'hello world'

splitlines() 以换行为分开

String.splitlines()

str = 'hello,\nworld,\nhello'

print(str.splitlines()) # ['hello,', 'world,', 'hello']

 

 

 

Tip:补充,python中的字符串并差距意修改值,只允许覆盖值。

情形如下:

# 创建字符串
str = 'hello,world'
print(str[0])  # h

# 尝试去修改
str[0] = 'H'
print(str)  # TypeError: 'str' object does not support item assignment


# 下面这种情况是我们常见的情况,其实是属于一种字符串之前的值被新的值覆盖掉了
str = 'Hello,YanYan'
print(str)  # Hello,YanYan

 

7、upper():转大写

In [54]: s1
Out[54]: 'HEllo WOrld'

In [55]: s3
Out[55]: 'Hello,world'

In [56]: s1.upper()
Out[56]: 'HELLO WORLD'

In [57]: s3.upper()
Out[57]: 'HELLO,WORLD'

8、strip([chars]):去除

   lstrip()rstrip()类似

In [61]: s1='    hello         world     !!!   '

In [62]: s1.strip()
Out[62]: 'hello         world     !!!'

In [63]: s2='**** jw---love---you ****'

In [64]: s2.strip('*')

Out[64]: ' jw---love---you  '

#应该是去除两边的

 In [107]: a=’***111***’

  In [108]: a.lstrip(‘*’)
  Out[108]: ‘111***’

  In [109]: a.rstrip(‘*’)
  Out[109]: ‘***111’

  In [110]: a.strip(‘*’)
  Out[110]: ‘111’

 

9、replace(old ,new, [count]):替换

In [72]: a='小喵和小九'

In [73]: a.replace('喵','喵喵').replace('九','九九')
Out[73]: '小喵喵和小九九'

In [74]: b='jiangwei is a good good good boy'

In [75]: b.replace('good','nice')
Out[75]: 'jiangwei is a nice nice nice boy'

In [76]: b.replace('good','nice',2)
Out[76]: 'jiangwei is a nice nice good boy'

In [77]: b.replace('good','nice',1)
Out[77]: 'jiangwei is a nice good good boy'

10、split():切割。重回列表。

In [92]: path1
Out[92]: 'a/b/c/d'

In [93]: path1.split('/')
Out[93]: ['a', 'b', 'c', 'd']

In [88]: path='/home/centos/python3.6'

In [89]: path
Out[89]: '/home/centos/python3.6'

In [90]: path.split('/')
Out[90]: ['', 'home', 'centos', 'python3.6']

11、startswith():以指定的字符串开端。发货true和false。

  endswith():类似

In [94]: a='helloworld'

In [95]: b='hello world'

In [96]: a.startswith('hello')
Out[96]: True

In [97]: b.startswith('hello')
Out[97]: True

In [98]: b.startswith('he')
Out[98]: True

12、format():格式化输出

In [111]: print('{name}---->{age}'.format(name='xjm',age=21))
xjm---->21

In [112]:

13、title():把各类字符串的首字母大写

In [112]: s='hello world python '

In [113]: s.title()
Out[113]: 'Hello World Python '

#与capitalize不同。就第一个单词的首字母大写

 In [128]: a=’hello world python’

In [129]: a.capitalize()

Out[129]: 'Hello world python' 

14、join():插入

In [117]: a='.'

In [118]: a.join('jwlove')
Out[118]: 'j.w.l.o.v.e'

 In [124]: a=’/’

In [125]: b=('user','local') 

In [127]: a.join(b)

Out[127]: 'user/local'

15、center(width,char):扩充

In [137]: a='Linux'

In [138]: a.center(25,'*')
Out[138]: '**********Linux**********'

In [140]: a.center(25)

Out[140]: '          Linux        '

#ljust和rjust类似

 In [142]: a.ljust(10,’-‘)
 Out[142]: ‘Linux—–‘

 In [143]: a.rjust(10,’-‘)

 Out[143]: ‘—–Linux’

 16、splitlines():根据\r  \n  \r\n  切割。再次回到列表

In [151]: a='如果\n没有\r如果'

In [154]: print(a)
如果
如果

In [157]: a.splitlines()
Out[157]: ['如果', '没有', '如果']

17、format_map():格式化输出

 

In [158]: a='hello world {course}'

In [160]: course1='python'
In [161]: course2='java'

In [178]: a.format(course=course1)
Out[178]: 'hello world java'

In [179]: a.format(course=course2)
Out[179]: 'hello world python'

In [181]: a.format_map(vars())
Out[181]: 'hello world python'