Home  >  Article  >  Backend Development  >  Common operation methods of python strings

Common operation methods of python strings

高洛峰
高洛峰Original
2017-03-02 16:16:071347browse

The example in this article shares the operation method of Python string for your reference. The specific content is as follows

1. Remove spaces
str.strip():Delete the specified characters on both sides of the string, write the specified characters in the brackets, the default is a space

>>> a=' hello '
>>> b=a.strip()
>>> print(b)
hello

str.lstrip(): Delete the specified characters on the left side of the string, write the specified characters in the brackets, the default is a space

>>> a=' hello '
>>> b=a.lstrip()
>>> print(b)
 hello #右边空格可能看的不是很明显

str.rstrip(): Delete the specified character on the right side of the string, the default is a space

>>> a=' hello '
>>> b=a.rstrip()
>>> print(b)
 hello

2.Copy the string

>>> a='hello world'
>>> b=a
>>> print(a,b)
hello world hello world

3.Connect the string

+:连接2个字符串
>>> a='hello '
>>> b='world'
>>> print(a+b)
hello world
注:此方法又称为 "万恶的加号",因为使用加号连接2个字符串会调用静态函数string_concat(register PyStringObject *a ,register PyObject * b),在这个函数中会开辟一块大小是a+b的内存的和的存储单元,然后将a,b字符串拷贝进去。如果是n个字符串相连 那么会开辟n-1次内存,是非常耗费资源的。
 
str.join:连接2个字符串,可指定连接符号(关于join,读者可以自己去查看一些相关资料)
>>> a='hello '
>>> b='####'
>>> a.join(b)
'#hello #hello #hello #'

4. Find the string

#str.index 和str.find 功能相同,区别在于find()查找失败会返回-1,不会影响程序运行。一般用find!=-1或者find>-1来作为判断条件。
str.index:检测字符串中是否包含子字符串str,可指定范围
 a='hello world'
>>> a.index('l')
2
>>> a.index('x')
Traceback (most recent call last):
 File "<pyshell#40>", line 1, in <module>
 a.index(&#39;x&#39;)
ValueError: substring not found
str.find:检测字符串中是否包含子字符串str,可指定范围

>>> a=&#39;hello world&#39;
>>> a.find(&#39;l&#39;)
2
>>> a.find(&#39;x&#39;)
-1


5. Compare strings

str.cmp: Compare two objects and return an integer based on the result. Xf72b60d13db8715972754da465a6d45aY the return value is a positive number.
#Python3 no longer has this method. The official document reads:
The cmp() function should be treated as gone, and the __cmp__() special method is no longer supported. Use __lt__() for sorting, __eq__() with __hash__(), and other rich comparisons as needed. (If you really need the cmp() functionality, you could use the expression (a > b) - (a 3863f6f8e11b77fb37e6439ca8b2ef9b b) - (a < b) instead cmp(a,b)

>>> a=100
>>> b=80
>>> cmp(a,b)
1

6. Whether it contains the specified string

in |not in 
>>> a=&#39;hello world&#39;
>>> &#39;hello&#39; in a
True
>>> &#39;123&#39; not in a
True

7. String length

str.len
>>> a=&#39;hello world&#39;
>>> print(len(a))
11

##8 .Case conversion of letters in the string

S.lower() #转换为小写 
>>> a=&#39;Hello World&#39;
>>> print(a.lower())
hello world

S.upper() #转换为大写 
>>> a=&#39;Hello World&#39;
>>> print(a.upper())
HELLO WORLD


S.swapcase() #大小写互换 
>>> a=&#39;Hello World&#39;
>>> print(a.swapcase())
hELLO wORLD

S.capitalize() #首字母大写 
>>> a=&#39;Hello World&#39;
>>> print(a.capitalize())
Hello world

##9. Place the string in the center to specify the length and position Characters on both sides


str.center()
>>> a=&#39;hello world&#39;
>>> print(a.center(40,&#39;*&#39;))
**************hello world***************

10. String statistics


>>> a=&#39;hello world&#39;
>>> print(a.count(&#39;l&#39;))
3

11. String testing and judgment functions. This type of function is not available in the string module. These functions return bool values


S.startswith(prefix[,start[,end]]) #是否以prefix开头 
S.endswith(suffix[,start[,end]]) #以suffix结尾 
S.isalnum()    #是否全是字母和数字,并至少有一个字符 
S.isalpha()    #是否全是字母,并至少有一个字符 
S.isdigit()    #是否全是数字,并至少有一个字符 
S.isspace()    #是否全是空白字符,并至少有一个字符 
S.islower()    #S中的字母是否全是小写 
S.isupper()    #S中的字母是否便是大写 
S.istitle()    #S是否是首字母大写的

12. String slicing


str = &#39;0123456789′
print str[0:3] #截取第一位到第三位的字符
print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前
print str[2] #截取第三个字符
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
print str[-3:] #截取倒数第三位到结尾
print str[:-5:-3] #逆序截取,截取倒数第五位数与倒数第三位数之间

here It should be emphasized that string objects are immutable, which means that after python creates a string, you cannot change a certain part of the characters. After any of the above functions changes the string, it will return a new string, and the original string has not changed.

The above is the entire content of this article. I hope it will be helpful to everyone learning python programming.

For more articles related to common operation methods of python strings, please pay attention to the PHP Chinese website!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn