摘要:这篇博文主要阐述有关文本操作的一些问题,例如拆分字符串的开头结尾匹配、去掉两边空格、搜索和替换、分离和拼接等。
1. 字符串的定义
a、b、c三个变量都分别被用三种方式赋值,但是这三种方式所赋值类型都为str字符串类型。
# 字符串常用的转义符号如下:
\n:换行
\t:一个tab键
\":显示出来是"
\':显示出来是'
例如,要求我们打印 guido’s 和 “hello guido’s python”。(注意这里的’和""要显示出来)
再例如,要求我们输出hello python。第一行输出格式是hello换行python,第二行输出格式hello tab(即四个空格) python。
2. 字符串的特性
#索引
s = 'hello' //索引:0,1,2,3,4 索引是从0开始的
print(s[0]) //取到的是第一个字符h
print(s[4]) //取到的是第五个字符o
print(s[-1]) //取到的是字符串的最后一个字符o
执行效果如下:
#切片
s = 'abcdefg'
#s[start:end:step] 从start开始,到end-1结束,步长为step(默认是1)
print(s[0:3]) //输出abc
print(s[0:6:2]) //输出ace (从a开始,到f结束,每次步长为2。“a c e “)
执行结果如下:
print(s[:]) //显示所有字符
print(s[:3]) //显示前3个字符
print(s[::-1]) //字符串倒序输出
print(s[1:]) //除了第一个字符之外,其他的全部显示
print(s*10) //重复10次
print('hello '+'python') //连接
#成员操作符
print('he' in s)
print('abc' in s)
print('he' not in s)
3. 开头和结尾匹配
filename = 'sys.log'
filename.endwith('.log') //匹配结尾
filename.startwith('sys') //匹配开头
4. 去掉不需要的字符
可以在字符串的开始、结尾或者中间位置去掉不需要的字符,比如说空格符。
strip()方法可以用来从字符串的开始和结尾处去掉字符。
lstrip() 和 rstrip()可以分别从左或从右侧开始执行去除字符的操作。
默认情况下这些方法去除的是空格符,但也可以指定其他的字符。
补充:
res = 'hello'
res.center(50,'*') //res的值以居中格式输出,总共占据50格,剩余用'*'代替
res.rjust() //居右
res.ljust() //居左
是不是要比c语言里面控制格式输出方便多了~~~
5. 搜索和替换
这里rs里面有python和PYTHON,find()方法帮我们查找的时候区分了大小写,匹配到要搜索的字符串后返回结果第一个字符的索引号。
那么如果一个字符串中,要搜索的字符串出现过很多次,如何查找呢。可以看到这里出了一个错误,lfind()这个方法当然没有啦,因为find()方法就是从左边开始搜索的;如果想从右边开始搜索的话,用rfind()方法即可。可以看到,两种方法返回的索引号是不一样的,就是因为一个是从左边开始所有,另一个是从右边开始搜索。
replace()方法直接全部替换。
count()方法统计字符在原字符串中出现的次数。
6. 分离和拼接
split()方法可以帮助我们处理分隔符,用’.‘将ip值分离出来。
用’-‘也可以将date值分离出来,但如果用’*’,输出结果为未分离前的date值,因为date值里面没有这个字符,所以无法分离。
也可以进行反操作,将分离开的字符拼接起来。