Python——字符串
一、字符串的索引和切片
1、索引:按照位置提取元素,从0开始的
name="wang"
print(name[0])
print(name[2])
print(name[3])
print(name[-1])
结果为:w n g g
注:name[-1]表示倒数第一个,索引为负,表示倒数
2、切片:从一个字符串中提取一部分内容
语法:s[start : end] 从start索引开始,到end切片,但是取不到end
name2="hellopython"
print(name2[1: 5])
结果为 ello
-
如果start从0索引开始,可以省略start,语法为s[: end]。
-
如果需要切片到最后end,可以省略end,语法为s[start: ]。
-
如果需要控制切片的方向,就添加步长,步长为-1,表示从右到左,语法为s[start : end : -1]
-
关于步长:语法为s[start : end : step]
如下面例子,从索引1开始,到5结束,不包含5,结果为ello,但是步长为2,意味着每隔两个出现一个字符,所以最终结果为el
name2="hellopython" print(name2[1 : 5 : 2])
二、字符串常用操作
字符串的操作一般不会对原字符串产生影响,会返回一个新的字符串
1、大小写转化 capitalize()
name3="a"
s1=name3.capitalize()
print(s1);
结果为 A
2、首字母大写 title()
name4="python hello"
s2=name4.title()
print(s2);
结果为 Python Hello
3、转化为小写 lower()
name5="PYTHON"
s3=name5.lower()
print(s3);
结果为 python
4、转化为大写 upper()
三、字符串的切割和替换
1、strip() 去掉字符串两端的空白字符,包括(空格、\t 、\n)
username=" wang ming "
username1=username.strip()
print(username1);
结果为wang ming
如果不加strip(), {结果为 wang ming },两端空白字符仍在
username=" wang ming "
print(username);
2、字符串替换 replace(old , new)
name="我叫王明"
name1=name.replace("王明","张三")
print(name)
print(name1);
结果为:
我叫王明
我叫张三
replace() 可去掉所有的空格,replace(" " , “”),在爬虫时常用
3、字符串切割 split(),切割之后的字符,存在列表(List)中
s="as_df_gh"
s2=s.split("_")
print(s2);
用_分割s字符串,分割后变为单独是字符串,结果存在列表中
结果 : [‘as’, ‘df’, ‘gh’]
四、字符串的查找和替换
1、查找 find() ,返回查找的索引下标位置
s="asdfg"
ret=s.find("d")
print(ret);
结果为2
查找 index() ,find()和index()的区别在于,find没找到会返回-1,而index会报错 (用的不多这两个)
2、in和not in ,查找是否在,返回true 和 false
s="asdfg"
print("a" in s);
print("t" not in s);
结果为 True True
3、判断 startswith() ,判断字符是否以xxx开头,endswith() ,判断字符是否以xxx结尾
s="asdfg"
if s.startswith("a"): # 判断是否a开头
print("以a开头")
else:
print("不是a开头");
结果为 : 以a开头
五、其他
1、字符串长度 len()
2、连接 join(),可拼接列表中的字符
下面就是用_连接的
lst=["w","e","f"]
newLst="_".join(lst)
print(newLst)
结果为: w_e_f