Heim >Backend-Entwicklung >Python-Tutorial >Python-String
Erfahren Sie wie folgt, wie Sie Strings in Python verwenden.
print(dir(str))
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__ ', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize ', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip ', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
Die oben genannten sind alle Methoden von String, schauen Sie sie sich einzeln an, insgesamt 44
1. Geben Sie den ersten Buchstaben in Großbuchstaben zurück
Capitalize(...)
Capitalize() -> String
>>>a = 'hello world' >>> b = a.capitalize() >>> print (b) Hello world
2. Füllen Sie bestimmte Zeichen auf die angegebene Länge
center(...)
S.center(width[, fillchar]) -> string
>>> a = 'linux' >>> print a.center(7,'h') hlinuxh >>> print a.center(8,'h') hlinuxhh >>> print a.center(9,'h') hhlinuxhh
3. Finden Sie die Anzahl der Vorkommen einer Zeichenfolge
count(...)
S.count(sub[, start[, end]]) -> int
>>> a = "this is my dog, i love this dog and it's a good dog!" >>> print a.count('dog') 3 >>> print a.count('dog',15) 2 >>> print a.count('dog',15,30) 0 >>> print a.count('dog',15,32) 1
4. Dekodieren Sie die Zeichenfolge im angegebenen Kodierungsformat. Die Standardkodierung ist die Zeichenfolgenkodierung (geeignet für die Verarbeitung von Chinesisch in Python2)
decode(...)
S.decode([encoding[,errors]]) ->object
b = 'strid' >>> b.decode('utf-8') u'strid'
5. Wird verwendet, um zu bestimmen, ob die Zeichenfolge mit dem angegebenen Suffix endet. Wenn sie mit dem angegebenen Suffix endet, wird „True“ zurückgegeben, andernfalls wird „False“ zurückgegeben. Die optionalen Parameter „start“ und „end“ sind die Start- und Endpositionen der abgerufenen Zeichenfolge
endetwith(...)
S.endswith(suffix[,start[, end] ] ) ->bool
>>> shaw = 'I am shaw,what\'s your name ?' >>> shaw.endswith('?') True >>> shaw.endswith('w',7,9) True >>> shaw.endswith('w',7,8) False
6. Konvertieren Sie das Tabulatorsymbol ('t') in Leerzeichen. Die Standardanzahl der Leerzeichen für das Tabulatorsymbol ('t') beträgt 8. tabsize - - gibt die Konvertierung an. Die Anzahl der Zeichen, die das Tabulatorzeichen ('t') in der Zeichenfolge in Leerzeichen umgewandelt werden kann.
expandtabs(...)
S.expandtabs([tabsize])->string
>>> info = 'today is a good d\tay' >>> print info.expandtabs() today is a good d ay >>> print info.expandtabs(4) # 把tab装换成4个空格 today is a good d ay >>> printinfo.expandtabs(1) today is a good d ay # 把tab装换成1个空格
7. Erkennen Sie, ob der String einen Teilstring str enthält Sie geben den Anfangsbereich (Start) und den Endbereich (Ende) an und prüfen, ob er im angegebenen Bereich enthalten ist. Wenn er einen Teilstring enthält, geben Sie den Startindexwert zurück, andernfalls geben Sie -1 zurück.
find(...)
S.find(sub [,start [,end]])-> int
>>> a = 'stivenwang' >>> a.find('w') 6 >>> a.find('w',9) -1 >>> a.find('w',9,11) -1
8. Format-String-Ausgabe (die Methode ähnelt %, aber die Reihenfolge kann angegeben werden)
format(...)
S.format(*args, **kwargs)-> string
>>> name = 'StivenWang' >>> fruit = 'apple' >>> print 'my name is {},I like {}'.format(name,fruit) my name is StivenWang,I like apple >>> print 'my name is {1},I like {0}'.format(fruit,name) my name is StivenWang,I like apple >>> print 'my name is {mingzi},I like{shuiguo}'.format(shuiguo=fruit,mingzi=name) my name is StivenWang,I like apple
9. Erkennen Sie, ob die Zeichenfolge string vorhanden ist. Geben Sie den Indexwert von str in der Zeichenfolge zurück. Wenn die Bereiche beg (start) und end (end) angegeben sind, prüfen Sie ob Innerhalb des angegebenen Bereichs enthalten, ist diese Methode dieselbe wie die Python-Methode find(), mit der Ausnahme, dass eine Ausnahme (ValueError: Teilzeichenfolge nicht gefunden) gemeldet wird, wenn str nicht in der Zeichenfolge enthalten ist.
index(...)
S.index(sub [,start [,end]])-> int
>>> str1 = "this is string example....wow!!!" >>> str2 = "exam" >>> print str1.index(str2) 15 >>> print str1.index(str2,20) Traceback (most recent call last): File "<input>",line 1, in <module> ValueError: substringnot found报错
10 Bestehend aus Buchstaben oder Zahlen.
isalnum(...)
S.isalnum() -> bool
>>> a = '123' >>> a.isalnum() True >>> b = 'shaw' >>> b.isalnum() True >>> c = 'shaw123' >>> c.isalnum() True >>> d = 'th 123' >>> d.isalnum() False
11. Überprüfen Sie, ob die Zeichenfolge nur aus Buchstaben besteht
isalpha(...)
S.isalpha() -> bool
>> a = '123' >>> a.isalpha() False >>> b = '123shaw' >>> b.isalpha() False >>> c = 'shaw' >>> c.isalpha() True >>> d = 'sha w' >>> d.isalpha() False
12. Überprüfen Sie, ob die Zeichenfolge nur aus Zahlen besteht.
isdigit(...)
S.isdigit() -> bool
>>> a = '123' >>> a.isdigit() True >>> b = 'shaw' >>> b.isdigit() False >>> c = '123shaw' >>> c.isdigit() False
13. Überprüfen Sie, ob die Zeichenfolge aus Kleinbuchstaben besteht.
islower(...)
S.islower() -> bool
>>> a = 'shaw' >>> a.islower() True >>> b = '123' >>> a.islower() True >>> c = '123shaw' >>> c.islower() True >>> d = 'SHAW' >>> d.islower() False >>> e = '123SHAW' >>> e.islower() False
14. Überprüfen Sie, ob die Zeichenfolge nur aus Leerzeichen besteht.
isspace(...)
S.isspace() -> bool
>>> a = ' ' >>> a.isspace() True >>> a = '123' >>> a.isspace() False >>> a = 'shaw' >>> a.isspace() False
15.检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
istitle(...)
S.istitle() -> bool
>>> a = 'Shaw' >>> a.istitle() True >>> a = 'Shaw123' >>> a.istitle() True >>> a = '123' >>> a.istitle() False
16.检测字符串中所有的字母是否都为大写
isupper(...)
S.isupper() -> bool
>>> a = '123' >>> a.isupper() False >>> a = 'Shaw' >>> a.isupper() False >>> a = 'Shaw123' >>> a.isupper() False >>> a = 'SHAW123' >>> a.isupper() True
17.用于将序列中的元素以指定的字符连接生成一个新的字符串。
join(...)
S.join(iterable) ->string
>>> a = '-' >>> b = 'shaw' >>> print a.join(b) s-h-a-w
18.返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
ljust(...)
S.ljust(width[, fillchar])-> string
width -- 指定字符串长度
fillchar -- 填充字符,默认为空格
>>> s = 'shaw' >>> s.ljust(10) 'shaw ' >>> s.ljust(10,'8') 'shaw888888'
19.转换字符串中所有大写字符为小写。
Lower(...)
S.lower() -> string
>>> s = 'PYTHON' >>> s.lower() 'python' >>> s = 'PYTHON123' >>> s.lower() 'python123'
20.用于截掉字符串左边的空格或指定字符。
lstrip(...)
S.lstrip([chars]) ->string or unicode
>>> s = '%%%shaw' >>> s.lstrip('%') 'shaw' >>> s = ' shaw' >>> s.lstrip() 'shaw
123456 >>> s = '%%%shaw'>>> s.lstrip('%')'shaw'>>> s = ' shaw'>>> s.lstrip()'shaw'
21.根据指定的分隔符将字符串进行分割(返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串)
partition(...)
S.partition(sep) ->(head, sep, tail)
>>> S = 'are you know:lilin is lowser' >>> S.partition('lilin') ('are you know:', 'lilin', ' is lowser')
22.把字符串中的 old(旧字符串)替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
replace(...)
S.replace(old, new[,count]) -> string
>>> S = 'shaw' >>> S.replace('sh','LI') 'LIaw'
23.返回字符串最后一次出现的位置,如果没有匹配项则返回-1。
rfind(...)
S.rfind(sub [,start[,end]]) -> int
str -- 查找的字符串
beg -- 开始查找的位置,默认为0
end -- 结束查找位置,默认为字符串的长度。
>>> s = 'lilin is good li lao ban' >>> s.rfind('li') 14 >>> s.rfind('li',0,8) 2
24.返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常,你可以指定可选参数[beg:end]设置查找的区间。
rindex(...)
S.rindex(sub [,start[,end]]) -> int
语法:
str.rindex(str,beg=0 end=len(string))
>>> s = 'my name is shaw' >>> s.rindex('s') 11 >>> s.rindex('s',5,10) 9 >>> s.rindex('s',2,8) Traceback (most recent call last): File "<input>",line 1, in <module> ValueError: substring not found
25.返回的原/新字符串右对齐,且默认使用空格填充至指定长度(width)的新字符串。如果指定的长度(width)小于原字符串的长度则返回原字符串
rjust(...)
S.rjust(width[, fillchar])-> string
语法:
str.rjust(width[,fillchar])
width -- 指定填充指定字符后新字符串的总长度.
fillchar– 要填充的字符,默认为空格。
>>> s = 'sch' >>> s.rjust(20) ' sch' >>> s.rjust(20,'0') '00000000000000000sch' >>> s.rjust(20,'H') 'HHHHHHHHHHHHHHHHHsch'
26.删除 string 字符串末尾的指定字符(默认为空格).
rstrip(...)
S.rstrip([chars]) ->string or unicode
语法:
str.rstrip([chars])
>>> s = 'shaw\n' >>> s.rstrip('\n') 'shaw'
27.通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分隔 num 个子字符串
split(...)
S.split([sep [,maxsplit]])-> list ofstrings
语法:
str.split(str="",num=string.count(str)).
>>> s = 'shaw\nlinux\nmac' >>> s.split('\n') ['shaw', 'linux', 'mac'] >>> s.split('\n',1) ['shaw', 'linux\nmac']
28.按照行分隔,返回一个包含各行作为元素的列表,如果 num 指定则仅切片 num 个行.
splitlines(...)
S.splitlines(keepends=False)-> list ofstrings
语法:
str.splitlines( num=string.count('\n'))
num -- 分割行的次数。
>>> s = 'what\'s your name?\n my name is shaw\n how old areyou?' >>> s.splitlines() ["what's your name?", ' my name is shaw', ' how old areyou?'] >>> s.splitlines(1) ["what's your name?\n", ' my name is shaw\n', ' how old areyou?'] >>> s.splitlines(3)
29.用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end指定值,则在指定范围内检查。
startswith(...)
S.startswith(prefix[,start[, end]]) ->bool
语法:
str.startswith(str,beg=0,end=len(string))
str -- 检测的字符串。
strbeg -- 可选参数用于设置字符串检测的起始位置。
strend -- 可选参数用于设置字符串检测的结束位置。
>>> s = 'my name is shaw' >>> s.startswith('my') True >>> s.startswith('my',10,15) False
30.用于移除字符串头尾指定的字符(默认为空格)。
strip(...)
S.strip([chars]) ->string or unicode
>>> s = 'my name is sam' >>> s.strip('m') 'y name is sa'
31.用于对字符串的大小写字母进行转换(小写转大写,大写转小写)
swapcase(...)
S.swapcase() -> string
>>> s = 'stiven' >>> s.swapcase() 'STIVEN' >>> s = 'SHAW' >>> s.swapcase() 'shaw'
32.返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写。
title(...)
S.title() -> string
>>> s = 'my name is shaw' >>> s.title() 'My Name Is Shaw'
33.根据参数table给出的表(包含 256 个字符)转换字符串的字符, 并返回翻译后的字符串。要过滤掉的字符放到del 参数中
translate(...)
S.translate(table [,deletechars])->string
语法:
str.translate(table[, deletechars])
table -- 翻译表,翻译表是通过maketrans方法转换而来。
deletechars -- 字符串中要过滤的字符列表。
>>> from string import maketrans suchas = maketrans('sm','@$') >>> s = 'this is sam\'s dog' >>> s "this is sam's dog" >>> s.translate(suchas) "thi@ i@ @a$'@ dog" >>> s.translate(suchas,'dog') 去除d,o,g字符 "thi@ i@ @a$'@ "
34.将字符串中的小写字母转为大写字母
upper(...)
S.upper() -> string
>>> s = 'sam' >>> s.upper() 'SAM' >>> s = '23sam' >>> s.upper() '23SAM' >>> s = '23s am' >>> s.upper() '23S AM'
作者:terry
blog:http://www.cnblogs.com/kkterry/
Weibo:http://weibo.com/kkterry
E-mail:doubleginger@163.com
欢迎转载,还请标明出处