来源:python中国网 时间:2019-06-06

  场景:

  在网上发帖子,有些言辞会被删除,比如政治、色情、赌博类的,为了过滤这些信息,我们可以收集特征词,比如含有苍老师的帖子不能有,就检查苍老师这个字符串是否在某个帖子中,有的话就把它替换成王老师!这其中就涉及字符串查找和替换的操作!

  设字符串mystr='hello world canglaoshi'

  以下是字符串的各种操作(函数)【末尾贴常用函数的代码】:

1.find
检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1
mystr.find(str, start=0, end=len(mystr))
2.index
find()方法一样,只不过如果str不在 mystr中会报一个异常.
mystr.index(str, start=0, end=len(mystr)) 
3.count
返回 strstartend之间  mystr里面出现的次数
mystr.count(str, start=0, end=len(mystr))
4.replace
 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.
mystr.replace(str1, str2,  mystr.count(str1))
5.split
 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串
mystr.split(str=" ", 2)    
6.capitalize
把字符串的第一个字符大写
mystr.capitalize()
7.title
把字符串的每个单词首字母大写
>>> a = "hello itcast"
>>> a.title()
'Hello Itcast'
8.startswith
检查字符串是否是以 obj 开头, 是则返回 True,否则返回 False
mystr.startswith(obj)
9.endswith
检查字符串是否以obj结束,如果是返回True,否则返回 False.
mystr.endswith(obj)
10.lower
转换 mystr 中所有大写字符为小写
mystr.lower()        
11.upper
转换 mystr 中的小写字母为大写
mystr.upper()    
12.ljust
返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
mystr.ljust(width) 
13.rjust
返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
mystr.rjust(width)    
14.center
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
mystr.center(width)   
15.lstrip
删除 mystr 左边的空白字符
mystr.lstrip()
16.rstrip
删除 mystr 字符串末尾的空白字符
mystr.rstrip()    
17.strip
删除mystr字符串两端的空白字符
>>> a = "\n\t itcast \t\n"
>>> a.strip()
'itcast'
18.rfind
类似于 find()函数,不过是从右边开始查找.
mystr.rfind(str, start=0,end=len(mystr) )
19.rindex
类似于 index(),不过是从右边开始.
mystr.rindex( str, start=0,end=len(mystr))
20.partition
mystrstr分割成三部分,str前,strstr
mystr.partition(str)
21.rpartition
类似于 partition()函数,不过是从右边开始.
mystr.rpartition(str)
22.splitlines
按照行分隔,返回一个包含各行作为元素的列表
mystr.splitlines()  
23.isalpha
如果 mystr 所有字符都是字母 则返回 True,否则返回 False
mystr.isalpha()  
24.isdigit
如果 mystr 只包含数字则返回 True 否则返回 False.
mystr.isdigit() 
25.isalnum
如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False
mystr.isalnum()  
26.isspace
如果 mystr 中只包含空格,则返回 True,否则返回 False.
mystr.isspace()   
27.join
mystr 中每个字符后面插入str,构造出一个新的字符串
mystr.join(str)
28.encodedecode  自己尝试用一下吧
string.encode(encoding='utf-8',errors='strict')
encoding指定的编码格式编码string,如果出错,默认报一个ValueError异常,除非errors指定的是'ignore'或者是'replace'

  常用字符串函数:

 # -*- coding: utf-8 -*-
mystr = ' hello world canglaoshi HELLO'
lis = ['hello','world','canglaoshi','HELLO']
mystr2 = "苍老师来也";
print(mystr.find('canglaoshi'))
print(mystr.index('canglaoshi'))
print(mystr.count('canglaoshi'))
print(mystr.replace('canglaoshi','laowang'))
print(mystr.startswith('canglaoshi'))
print(mystr.endswith('canglaoshi'))
print(mystr.lower())
print(mystr.upper())
print(mystr.strip('canglaoshi'))
print(mystr.split('o'))
print('-'.join(lis))
 
str_utf8 = mystr2.encode("UTF-8")
str_gbk = mystr2.encode("GBK")
print(str_utf8)
print(str_gbk)

D:\python3\install\python.exe D:/python/py3script/python66.py
13
13
1
 hello world laowang HELLO
False
False
 hello world canglaoshi hello
 HELLO WORLD CANGLAOSHI HELLO
 hello world canglaoshi HELLO
[' hell', ' w', 'rld cangla', 'shi HELLO']
hello-world-canglaoshi-HELLO
b'\×e8\×8b\×8d\×e8\×80\×81\×e5\×b8\×88\×e6\×9d\×a5\×e4\×b9\×9f'
b'\×b2\×d4\×c0\×cf\×ca\×a6\×c0\×b4\×d2\×b2'

Process finished with exit code 0