Python string explanation

Source: Internet
Author: User
Tags strlen

The string content of the second week, the Python string is still relatively simple!

1, go to the space and special symbols

S.strip (). Lstrip (). Rstrip (', ')


2. Copying strings

#strcpy (SSTR1,SSTR2)
SSTR1 = ' strcpy '
SSTR2 = SStr1
SSTR1 = ' Strcpy2 '
Print SSTR2


3. Connection string

#strcat (SSTR1,SSTR2)
SSTR1 = ' strcat '
SSTR2 = ' Append '
SSTR1 + = SStr2
Print SSTR1


4. Find characters

#strchr (SSTR1,SSTR2)
# < 0 for not found
SSTR1 = ' STRCHR '
SSTR2 = ' s '
NPos = Sstr1.index (SSTR2)
Print NPos


5. Comparing strings

#strcmp (SSTR1,SSTR2)
SSTR1 = ' STRCHR '
SSTR2 = ' Strch '
Print CMP (SSTR1,SSTR2)


6. Whether the scanned string contains the specified characters

#strspn (SSTR1,SSTR2)
SSTR1 = ' 12345678 '
SSTR2 = ' 456 '
#sStr1 and chars both in SSTR1 and SSTR2
Print Len (SSTR1 and SSTR2)


7. String length

#strlen (SSTR1)
SSTR1 = ' strlen '
Print Len (SSTR1)


8. Converting uppercase and lowercase characters in strings

S.lower () #小写
S.upper () #大写
S.swapcase () #大小写互换
S.capitalize () #首字母大写
String.capwords (S) #这是模块中的方法. It separates S with the split () function, then uses capitalize () to capitalize the initial letter and merge it with join ().
#实例:
#strlwr (SSTR1)
SSTR1 = ' jcstrlwr '
SSTR1 = Sstr1.upper ()
#sStr1 = Sstr1.lower ()
Print SSTR1


9. Append a string of the specified length

#strncat (Sstr1,sstr2,n)
SSTR1 = ' 12345 '
SSTR2 = ' abcdef '
n = 3
SSTR1 + = Sstr2[0:n]
Print SSTR1


10. String specified length comparison

#strncmp (Sstr1,sstr2,n)
SSTR1 = ' 12345 '
SSTR2 = ' 123BC '
n = 3
Print CMP (Sstr1[0:n],sstr2[0:n])


11. Copy characters of the specified length

#strncpy (Sstr1,sstr2,n)
SSTR1 = ' '
SSTR2 = ' 12345 '
n = 3
SSTR1 = Sstr2[0:n]
Print SSTR1


12. Replace the first n characters of a string with the specified characters

#strnset (Sstr1,ch,n)
SSTR1 = ' 12345 '
ch = ' R '
n = 3
SSTR1 = n * ch + sstr1[3:]
Print SSTR1


13. Scan string

#strpbrk (SSTR1,SSTR2)
SSTR1 = ' Cekjgdklab '
SSTR2 = ' Gka '
NPos =-1
For C in SSTR1:
If C in SSTR2:
NPos = Sstr1.index (c)
Break
Print NPos


14. Flip String

#strrev (SSTR1)
SSTR1 = ' ABCDEFG '
SSTR1 = Sstr1[::-1]
Print SSTR1


15. Find string

#strstr (SSTR1,SSTR2)
SSTR1 = ' ABCDEFG '
SSTR2 = ' CDE '
Print Sstr1.find (SSTR2)


16. Split string

#strtok (SSTR1,SSTR2)
SSTR1 = ' Ab,cde,fgh,ijk '
SSTR2 = ', '
SSTR1 = Sstr1[sstr1.find (SSTR2) + 1:]
Print SSTR1
#或者
s = ' Ab,cde,fgh,ijk '
Print (S.split (', '))


17. Connection string

delimiter = ', '
MyList = [' Brazil ', ' Russia ', ' India ', ' China ']
Print Delimiter.join (mylist)


18, the implementation of addslashes in PHP

def addslashes (s):
D = {' ': ' \ \ ', ' ' ': ' \ \ ', '/': ' \\\0 ', ' \ \ ': ' \\\\ '}
Return '. Join (D.get (c, c) for C in s)
s = "John ' Johny ' Doe (a.k.a. \" Super joe\ ") \\\0"
Print S
Print Addslashes (s)


19. Display only letters and numbers

def onlycharnum (s,oth= "):
S2 = S.lower ();
Fomart = ' abcdefghijklmnopqrstuvwxyz0123456789 '
For C in S2:
If not C in Fomart:
s = S.replace (c, ");
return s;

Print (Onlystr ("a000 aa-b"))


20. Intercepting strings

str = ' 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] #逆序截取, what do you mean, you don't understand?


21. String alignment at Output

S.ljust (Width,[fillchar])
#输出width个字符, S left-aligned, insufficient parts are filled with Fillchar, the default is a space.
S.rjust (Width,[fillchar]) #右对齐
S.center (width, [Fillchar]) #中间对齐
S.zfill (width) #把S变成width长, and right-aligned, less part with 0 complement


22. Search and Replace in string

S.find (substr, [Start, [end]])
#返回S中出现substr的第一个字母的标号, returns-1 if there is no substr in S. Start and End function is equivalent to searching in s[start:end]
S.index (substr, [Start, [end]])
#与find () is the same, but when there is no substr in S, a run-time error is returned
S.rfind (substr, [Start, [end]])
#返回S中最后出现的substr的第一个字母的标号, if there is no substr in S, then return-1, that is, the first occurrence of substr from the right of the first letter marking
S.rindex (substr, [Start, [end]])
S.count (substr, [Start, [end]]) #计算substr在S中出现的次数
S.replace (Oldstr, Newstr, [Count])
#把S中的oldstar替换为newstr, Count is the number of replacements. This is a common form of substitution, and there are some functions for replacing special characters
S.strip ([chars])
#把S中前后chars中有的字符全部去掉, it can be understood to replace s before and after chars to none
S.lstrip ([chars])
S.rstrip ([chars])
S.expandtabs ([tabsize])
#把S中的tab字符替换没空格, each tab is replaced by a tabsize space, which defaults to 8


23. Segmentation and combination of strings

S.split ([Sep, [Maxsplit]])
#以sep为分隔符, divide s into a list. Maxsplit represents the number of splits. The default delimiter is a blank character
S.rsplit ([Sep, [Maxsplit]])
S.splitlines ([keepends])
#把S按照行分割符分为一个list, Keepends is a bool value that retains the row delimiter after each row is true.
S.join (seq) #把seq代表的序列-string sequence, connected by s


24, the mapping of the string, this function contains two functions

String.maketrans (from, to)
#返回一个256个字符组成的翻译表, where the characters from the from are converted to by one by one, so the from and to must be equal in length.
S.translate (Table[,deletechars])
# Use the above function after the post-natal translation table, the s to translate, and the deletechars of the characters deleted. It is important to note that if S is a Unicode string, then the Deletechars parameter is not supported, and the same functionality can be achieved by translating a character to none. You can also use the functionality of the codecs module to create more powerful translation tables.


25, string and a pair of encoding and decoding functions

S.encode ([encoding,[errors]])
# where encoding can have a variety of values, such as gb2312 GBK gb18030 bz2 zlib Big5 bzse64, etc. are supported. The default value for errors is "strict", which means unicodeerror. Possible values are ' ignore ', ' replace ', ' xmlcharrefreplace ', ' backslashreplace ' and all the values registered by Codecs.register_error. This section covers the codecs module, which is not a specific understanding
S.decode ([encoding,[errors]])


26, the string test, the judgment function, this kind of function is not in the string module, these functions return is the BOOL value

S.startswith (Prefix[,start[,end])
#是否以prefix开头
S.endswith (Suffix[,start[,end])
#以suffix结尾
S.isalnum ()
#是否全是字母和数字, and has at least one character
S.isalpha () #是否全是字母, and has at least one character
S.isdigit () #是否全是数字, and has at least one character
S.isspace () #是否全是空白字符, and has at least one character
S.islower () #S中的字母是否全是小写
S.isupper () #S中的字母是否便是大写
S.istitle () #S是否是首字母大写的


27, the String type conversion function, these functions only in the string module has

String.atoi (S[,base])
#base默认为10, if 0, then s can be 012 or 0x23 This form of string, if it is 16 then s can only be 0x23 or 0x12 this form of string
String.atol (S[,base]) #转成long
String.atof (S[,base]) #转成float

Once again, the string object is immutable, meaning that you cannot change a part of the character after Python creates a string. Any of the above functions will return a new string after the string has been changed, and the original is not changed. In fact, this is also a workaround, you can use S=list (s) This function to change S into a single character as a member of the list, so you can use the s[3]= ' a ' method of changing the value, and then use s= "". Join (s) revert to a string

Python string in a detailed

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.