test ="Python Programming"print("String: ", test)# First one character
first_character = test[:1]print("First Character: ", first_character)# Last one character
last_character = test[-1:]print("Last Character: ", last_character)# Everything except the first one character
except_first = test[1:]print("Except First Char.: ", except_first)# Everything except the last one character
except_last = test[:-1]print("Except First Char.: ", except_last)# Everything between first and last two character
between_two = test[2:-2]print("Between two character: ", between_two)# Skip one character
skip_one = test[0:18:2]# [start:stop:step]print("Skip one character: ", skip_one)# Reverse String
reverse_str = test[::-1]print("Reverse String: ", reverse_str)
执行结果:
String: Python Programming
First Character: P
Last Character: g
Except First Char.: ython Programming
Except First Char.: Python Programmin
Between two character: thon Programmi
Skip one character: Pto rgamn
Reverse String: gnimmargorP nohtyP
二、检查字符串是否为空
import re
from collections import Counter
sentence ='Canada is located in the northern part of North America'# Example I
counter =len(re.findall("a", sentence))print(counter)# Example II
counter = sentence.count('a')print(counter)# Example III
counter = Counter(sentence)print(counter['a'])
执行结果:
Empty
Empty
Empty
三、计算字符串中字符出现次数的多种方法
import re
from collections import Counter
sentence ='Canada is located in the northern part of North America'# Example I
counter =len(re.findall("a", sentence))print(counter)# Example II
counter = sentence.count('a')print(counter)# Example III
counter = Counter(sentence)print(counter['a'])
执行结果:
666
四、将 String 变量转换为 float、int 或 boolean
# String to Float
float_string ="254.2511"print(type(float_string))
string_to_float =float(float_string)print(type(string_to_float))# String to Integer
int_string ="254"print(type(int_string))
string_to_int =int(int_string)print(type(string_to_int))# String to Boolean
bool_string ="True"print(type(bool_string))
string_to_bool =bool(bool_string)print(type(string_to_bool))
num =7print('{0:0>5d}'.format(num))# leftprint('{0:0<5d}'.format(num))# rightprint('{:05d}'.format(num))print("%0*d"%(5, num))print(format(num,"05d"))
temp ='test'print(temp.rjust(10,'0'))print(temp.ljust(10,'0'))
执行结果:
0000770000000070000700007
000000test
test000000
六、去掉字符串中的 space 字符
string_var =" \t a string example\n\t\r "print(string_var)
string_var = string_var.lstrip()# trim white space from leftprint(string_var)
string_var =" \t a string example\t "
string_var = string_var.rstrip()# trim white space from rightprint(string_var)
string_var =" \t a string example\t "
string_var = string_var.strip()# trim white space from both sideprint(string_var)
执行结果:
a string example
a string example
a string example
a string example
七、生成 N 个字符的随机字符串
import string
import random
defstring_generator(size):
chars = string.ascii_uppercase + string.ascii_lowercase
return''.join(random.choice(chars)for _ inrange(size))defstring_num_generator(size):
chars = string.ascii_lowercase + string.digits
return''.join(random.choice(chars)for _ inrange(size))# Random String
test = string_generator(10)print(test)# Random String and Number
test = string_num_generator(15)print(test)
执行结果:
acpPTojXet
qmpah72cjb83eqd
八、以不同的方式反转字符串
test_string ='Python Programming'
string_reversed = test_string[-1::-1]print(string_reversed)
string_reversed = test_string[::-1]print(string_reversed)# String reverse logicallydefstring_reverse(text):
r_text =''
index =len(text)-1while index >=0:
r_text += text[index]
index -=1return r_text
print(string_reverse(test_string))
import re
defconvert(oldstring):
s1 = re.sub('(.)([A-Z][a-z]+)',r'\1_\2', oldstring)return re.sub('([a-z0-9])([A-Z])',r'\1_\2', s1).lower()# Camel Case to Snake Caseprint(convert('CamelCase'))print(convert('CamelCamelCase'))print(convert('getHTTPResponseCode'))print(convert('get2HTTPResponseCode'))# Change Case of a particular character
text ="python programming"
result = text[:1].upper()+ text[1:7].lower() \
+ text[7:8].upper()+ text[8:].lower()print(result)
text ="Kilometer"print(text.lower())
old_string ="hello python"
new_string = old_string.capitalize()print(new_string)
old_string ="Hello Python"
new_string = old_string.swapcase()print(new_string)
import re
Continue =1
Quit =2defmain():
choice =0while choice != Quit:# Display the menu.
display_menu()# Constant to assume string is Palindrome
is_palindrome =True# Get the user's choice.
choice =int(input('\nEnter your choice: '))# Perform the selected action.if choice == Continue:
line =input("\nEnter a string: ")
str_lower = re.sub("[^a-z0-9]","", line.lower())for i inrange(0,len(str_lower)//2):if str_lower[i]!= str_lower[len(str_lower)- i -1]:
is_palindrome =Falseif is_palindrome:print(line,"is a palindrome")else:print(line,"is not a palindrome")else:print('Thank You.')defdisplay_menu():print('\n*******MENU*******')print('1) Continue')print('2) Quit')
main()
执行结果:
*******MENU*******1) Continue
2) Quit
Enter your choice:1
Enter a string: A dog! A panic in a pagoda!
A dog! A panic in a pagoda! is a palindrome
*******MENU*******1) Continue
2) Quit
Enter your choice:1
Enter a string: Civic
Civic is a palindrome
*******MENU*******1) Continue
2) Quit
Enter your choice:1
Enter a string: Python vs Java
Python vs Java isnot a palindrome
*******MENU*******1) Continue
2) Quit
Enter your choice:2
Thank You.
十一、检查字符串是否以列表中的一个字符串结尾
str_list =['aaa','bbb','ccc','ddd']# list of items
str_test ='testccc'# string need to testfor str_item in str_list:if str_test.endswith(str_item):print("found")break# loop ends when result foundelse:print("not found")
执行结果:
not found
not found
found
十二、在字符串中应用查找模式
import re
s1 ='abccba'
s2 ='abcabc'
s3 ='canadajapanuaeuaejapancanada'
p ='123321'defmatch(s, p):
nr ={}
regex =[]for c in p:if c notin nr:
regex.append('(.+)')
nr[c]=len(nr)+1else:
regex.append('\\%d'% nr[c])returnbool(re.match(''.join(regex)+'$', s))print(match(s1, p))print(match(s2, p))print(match(s3, p))
执行结果:
TrueFalseTrue
十三、如果是 Python 中的反斜杠,则删除最后一个字符
x ='China\\'print(x.rstrip('\\'))
执行结果:
China
十四、拆分字符串而不丢失拆分字符
import re
string ='China-Great-Country'print(re.split(r'(\-)', string))
执行结果:
['China','-','Great','-','Country']
十五、从字符串 Python 中提取大写和小写字符
string ="asdfHRbySFss"
uppers =[l for l in string if l.isupper()]print(''.join(uppers))
lowers =[l for l in string if l.islower()]print(''.join(lowers))
string ='Test5412Test8745Test'print([string[i:i +4]for i inrange(0,len(string),4)])
执行结果:
['Test','5412','Test','8745','Test']
十八、在 Python 中以多行方式连接字符串
str1 ="This is a demo string"
str2 ="This is another demo string"
strz =("This is a line\n"+
str1 +"\n"+"This is line 2\n"+
str2 +"\n"+"This is line 3\n")print(strz)
执行结果:
This is a line
This is a demo string
This is line 2
This is another demo string
This is line 3
十九、在 Python 中将多个变量附加到列表中
volumeA =100
volumeB =20
volumeC =10
vol1 =[]
vol2 =[]
vol1.extend((volumeA, volumeB, volumeC))
vol2 +=[val for name, val inglobals().items()if name.startswith('volume')]print(vol1)print(vol2)
执行结果:
[100,20,10][100,20,10]
二十、将字符串拆分为 Python 中的字符列表
s ='China'
l =list(s)print(l)
执行结果:
['C','h','i','n','a']
二十一、如何在 Python 中小写字符串
text =['China','BEIJING']
text =[txt.lower()for txt in text]print(text)
执行结果:
['china','beijing']
二十二、通过多个标点符号分割字符串
import re
s ='a,b,c d!e.f\ncanada\tjapan&germany'
l = re.split('[?.,\n\t&! ]', s)for i in l:print(i)
执行结果:
a
b
c
d
e
f
canada
japan
germany
二十三、Python 字符串填充
lines_of_text =[(123,5487,'Testing','Billy','Jones'),(12345,100,'Test','John M','Smith')]for mytuple in lines_of_text:
name ='{}, {}'.format(mytuple[4], mytuple[3])
value ='$'+str(mytuple[1])print('{name:<20} {id:>8} {test:<12} {value:>8}'.format(
name=name,id=mytuple[0], test=mytuple[2], value=value))
执行结果:
Jones, Billy 123 Testing $5487
Smith, John M 12345 Test $100
defcontains_word(s, w):return(' '+ w +' ')in(' '+ s +' ')
result = contains_word('those who seek shall find','find')print(result)
result = contains_word('those who seek shall find','finds')print(result)
执行结果:
TrueFalse
二十六、查找所有出现的子字符串
import re
aString ='this is a string where the substring "is" is repeated several times'print([(a.start(), a.end())for a inlist(re.finditer('is', aString))])
执行结果:
[(2,4),(5,7),(38,40),(42,44)]
二十七、在 Python 中去除所有开头在Python中的正斜杠上拆分字符串和结尾标点符号
from string import punctuation
s ='.$958-5-China,#'print(s.strip(punctuation))
执行结果:
958-5-Canada
二十八、用 Python 中的正斜杠上拆分字符串
s ='China/Beijing/Tiananmen'
l = s.split('/')print(l)
执行结果:
['China','Beijing','Tiananmen']
二十九、根据 Python 中的索引位置将字符串大写
defcapitalize(s, ind):
split_s =list(s)for i in ind:try:
split_s[i]= split_s[i].upper()except IndexError:print('Index out of range : ', i)return"".join(split_s)print(capitalize("abracadabra",[2,6,9,10,50]))
执行结果:
Index out of range:50
abRacaDabRA
三十、检查字符串中的所有字符是否都是 Python 中的数字
a ="1000"
x = a.isdigit()print(x)
b ="A1000"
x = b.isdigit()print(x)
执行结果:
TrueFalse
三十一、为什么使用’=='或’is’比较字符串有时会产生不同的结果
a ='abcdef'
b =''.join(['ab','cd','ef'])print(a == b)print(a is b)
a =[1,2,3]
b =[1,2,3]print(a == b)print(a is b)
c = b
print(c is b)
import re
test ="example(test)"
test2 ="example(test)example"
test3 ="(test)example"
test4 ="example (test) example"for i in[test, test2, test3, test4]:print(re.sub(r"[^\S]?(\(.*?\))[^\S]?",r" \1 ", i).strip())
执行结果:
example (test)
example (test) example
(test) example
example (test) example
五十六、在 Python 中删除开头和结尾空格
s =' China 'print(s.strip())
执行结果:
China
五十七、在 Python 中拆分字符串以获得第一个值
s ='canada-japan-australia'
l = s.split('-')[0]print(l)
string ='canada-japan-australia'print(string[:string.index('-')])
执行结果:
canada
canada
五十八、在 Python 中检查字符串是大写、小写还是混合大小写
words =['The','quick','BROWN','Fox','jumped','OVER','the','Lazy','DOG']print([word for word in words if word.islower()])print([word for word in words if word.isupper()])print([word for word in words ifnot word.islower()andnot word.isupper()])
from string import ascii_letters, digits
defcompare_alphanumeric(first, second):for character in first:if character in ascii_letters + digits and character notin second:returnFalsereturnTrue
str1 ='ABCD'
str2 ='ACDB'print(compare_alphanumeric(str1, str2))
str1 ='A45BCD'
str2 ='ACD59894B'print(compare_alphanumeric(str1, str2))
str1 ='A45BCD'
str2 ='XYZ9887'print(compare_alphanumeric(str1, str2))
执行结果:
TrueTrueFalse
六十二、在 Python 中的字符串中的字符之间添加空格的有效方法
s ="ABCDEF"print(" ".join(s))print("-".join(s))print(s.replace(""," ")[1:-1])
执行结果:
A B C D E F
A-B-C-D-E-F
A B C D E F
六十三、在 Python 中查找字符串中最后一次出现的子字符串的索引
s ='What is China famous for?'print(s.find('f'))print(s.index('f'))print(s.rindex('f'))print(s.rfind('f'))
执行结果:
14142121
六十四、在 Python 中将字符串大写
x ='China'
x = x.capitalize()print(x)
执行结果:
China
六十五、拆分非字母数字并在 Python 中保留分隔符
import re
s ="65&Can-Jap#Ind^UK"
l = re.split('([^a-zA-Z0-9])', s)print(l)
执行结果:
['65','&','Can','-','Jap','#','Ind','^','UK']
六十六、计算 Python 中字符串中大写和小写字符的数量
string ="asdfHRbySFss"
uppers =[l for l in string if l.isupper()]print(len(uppers))
lowers =[l for l in string if l.islower()]print(len(lowers))
执行结果:
48
六十七、在 Python 中将字符串与枚举进行比较
from enum import Enum, auto
classSignal(Enum):
red = auto()
green = auto()
orange = auto()defequals(self, string):return self.name == string
brain_detected_colour ="red"print(Signal.red.equals(brain_detected_colour))
brain_detected_colour ="pink"print(Signal.red.equals(brain_detected_colour))
执行结果:
TrueFalse
六十八、Python 中的段落格式
import textwrap
hamlet ='''\
Lorum ipsum is the traditional Latin placeholder text, used when a designer needs a chunk of text for dummying up a layout.
Journo Ipsum is like that, only using some of the most common catchphrases, buzzwords, and bon mots of the future-of-news crowd.
Hit reload for a new batch. For entertainment purposes only.'''
wrapper = textwrap.TextWrapper(initial_indent='\t'*1,
subsequent_indent='\t'*2,
width=40)for para in hamlet.splitlines():print(wrapper.fill(para))
执行结果:
Lorum ipsum is the traditional Latin
placeholder text, used when a designer
needs a chunk of text for dummying up
a layout.
Journo Ipsum is like that, only using
some of the most common catchphrases,
buzzwords,and bon mots of the future-
of-news crowd.
Hit reloadfor a new batch. For
entertainment purposes only.
s ='canada japan australia'
l = s.split(' ',1)print(l)
执行结果:
['canada','japan australia']
七十二、将大写字符串转换为句子大小写
text =['CANADA','JAPAN']
text =[txt.capitalize()for txt in text]print(text)
执行结果:
['Canada','Japan']
七十三、在标点符号上拆分字符串
string ='a,b,c d!e.f\ncanada\tjapan&germany'
identifiers ='!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~\n\t '
listitems ="".join((' 'if c in identifiers else c for c in string)).split()for item in listitems:print(item)
执行结果:
a
b
c
d
e
f
canada
japan
germany
七十四、在 Python 中比较字符串
str1 ="Canada"
str2 ="Canada"print(str1 is str2)# Trueprint(str1 == str2)# True
string1 =''.join(['Ca','na','da'])
string2 =''.join(['Can','ada'])print(string1 is string2)# Falseprint(string1 == string2)# True
执行结果:
TrueTrueFalseTrue
七十五、用零填充数字字符串
num =123print('{:<08d}'.format(num))print('{:>08d}'.format(num))
string ='123'print(string.ljust(8,'0'))print(string.rjust(8,'0'))print(string[::-1].zfill(8)[::-1])
执行结果:
1230000000000123123000000000012312300000
七十六、找到两个字符串之间的差异位置
defdif(a, b):return[i for i inrange(len(a))if a[i]!= b[i]]print(dif('stackoverflow','stacklavaflow'))
执行结果:
[5,6,7,8]
七十七、Python 填充字符串到固定长度
number =4print(f'{number:05d}')# (since Python 3.6), orprint('{:05d}'.format(number))# orprint('{0:05d}'.format(number))print('{n:05d}'.format(n=number))# or (explicit `n` keyword arg. selection)print(format(number,'05d'))
执行结果:
000040000400004000040000400004
七十八、Python 中的字符串查找示例
import re
text ='This is sample text to test if this pythonic '\
'program can serve as an indexing platform for '\
'finding words in a paragraph. It can give '\
'values as to where the word is located with the '\
'different examples as stated'
find_the_word = re.finditer('as', text)for match in find_the_word:print('start {}, end {}, search string \'{}\''.format(match.start(), match.end(), match.group()))
执行结果:
start 63, end 65, search string 'as'
start 140, end 142, search string 'as'
start 200, end 202, search string 'as'
七十九、删除字符串中的开头零和结尾零
list_num =['000231512-n','1209123100000-n00000','alphanumeric0000','000alphanumeric']print([item.strip('0')for item in list_num])# Remove leading + trailing '0'print([item.lstrip('0')for item in list_num])# Remove leading '0'print([item.rstrip('0')for item in list_num])# Remove trailing '0'
defcompare_strings(a, b):
result =Trueiflen(a)!=len(b):print('string lengths do not match!')for i,(x, y)inenumerate(zip(a, b)):if x != y:print(f'char miss-match {x, y} in element {i}')
result =Falseif result:print('strings match!')return result
print(compare_strings("canada","japan"))
执行结果:
string lengths do not match!
char miss-match ('c','j')in element 0
char miss-match ('n','p')in element 2
char miss-match ('d','n')in element 4False
test ='Position of a character'print(test.find('of'))print(test.find('a'))
执行结果:
912
九十、不同长度的 Python 填充字符串
data =[1148,39,365,6,56524]for element in data:print("{:>5}".format(element))
执行结果:
114839365656524
九十一、Python 比较两个字符串保留一端的差异
defafter(s1, s2):
index = s1.find(s2)if index !=-1and index +len(s2)<len(s1):return s1[index +len(s2):]else:returnNone
s1 ="canada"
s2 ="can"print(after(s1, s2))
执行结果:
ada
九十二、如何用 Python 中的一个字符替换字符串中的所有字符
test ='canada'print('$'*len(test))
执行结果:
$$$$$$
九十三、在字符串中查找子字符串并在 Python 中返回子字符串的索引
deffind_str(s, char):
index =0if char in s:
c = char[0]for ch in s:if ch == c:if s[index:index +len(char)]== char:return index
index +=1return-1print(find_str("India Canada Japan","Canada"))print(find_str("India Canada Japan","cana"))print(find_str("India Canada Japan","Uae"))
执行结果:
6-1-1
九十四、从 Python 中的字符串中修剪特定的开头和结尾字符
number ='+91 874854778'print(number.strip('+'))print(number.lstrip('+91'))
执行结果:
91874854778874854778
九十五、在 Python 中按长度将字符串拆分为字符串
string ="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
x =3
res =[string[y - x:y]for y inrange(x,len(string)+ x, x)]print(res)
s ="xxxyyyzzz"# convert to list
a =list(s)# change every third letter in place with a list comprehension
a[2::3]=[x.upper()for x in a[2::3]]# back to a string
s =''.join(a)print(s)
Canada is a great country
Canada is a great country
Canada is a great country
Canada is a great country
Canada is a great country
九十八、将两个字符串与某些字符进行比较
str1 ="Can"
str2 ="Canada"print(str1 in str2)print(str1.startswith(str2))print(str2.startswith(str1))print(str1.endswith(str2))
str3 ="CAN"print(str3 in str2)
执行结果:
TrueFalseTrueFalseFalse
九十九、字符串格式化填充负数
n =[-2,-8,1,-10,40]
num =["{1:0{0}d}".format(2if x >=0else3, x)for x in n]print(num)
执行结果:
n =[-2,-8,1,-10,40]
num =["{1:0{0}d}".format(2if x >=0else3, x)for x in n]print(num)
from collections import Counter
defshared_chars(s1, s2):returnsum((Counter(s1)& Counter(s2)).values())print(shared_chars('car','carts'))
执行结果:
3
一百零七、在 Python 中的数字和字符串之间添加空格
import re
s ="ABC24.00XYZ58.28PQR"
s = re.sub("[A-Za-z]+",lambda group:" "+ group[0]+" ", s)print(s.strip())
执行结果:
ABC 24.00 XYZ 58.28 PQR
一百零八、如何在 Python 中去除空格
s =' canada 'print(s.rstrip())# For whitespace on the right side use rstrip.print(s.lstrip())# For whitespace on the left side lstrip.print(s.strip())# For whitespace from both side.
s =' \t canada 'print(s.strip('\t'))# This will strip any space, \t, \n, or \r characters from the left-hand side, right-hand side, or both sides of the string.
执行结果:
canada
canada
canada
canada
一百零九、字符串中最后一次出现的分隔符处拆分字符串
s ='canada-japan-australia-uae-india'
l = s.rsplit('-',1)[1]print(l)
执行结果:
india
一百一十、在 Python 中将字符串的最后一个字母大写
string ="canada"
result = string[:-1]+ string[-1].upper()print(result)
result = string[::-1].title()[::-1]print(result)
执行结果:
canadA
canadA
一百一十一、使用指定字符居中对齐字符串
txt ="canada"
x = txt.center(20)print(x)
执行结果:
canada
一百一十二、格式字符串中动态计算的零填充
x =4
w =5print('{number:0{width}d}'.format(width=w, number=x))
执行结果:
00004
一百一十三、在 Python 中使用 string.replace()
a ="This is the island of istanbul"print(a.replace("is","was",1))print(a.replace("is","was",2))print(a.replace("is","was"))
执行结果:
Thwas is the island of istanbul
Thwas was the island of istanbul
Thwas was the wasland of wastanbul
一百一十四、在 Python 中获取字符的位置
test ='Position of a character'print(test.find('of'))print(test.find('a'))
执行结果:
912
一百一十五、Python 字符串替换多次出现
s ="The quick brown fox jumps over the lazy dog"for r in(("brown","red"),("lazy","quick")):
s = s.replace(*r)print(s)
执行结果:
The quick red fox jumps over the quick dog
一百一十六、在索引后找到第一次出现的字符
string ='This + is + a + string'
x = string.find('+',4)print(x)
x = string.find('+',10)print(x)
执行结果:
510
一百一十七、在 Python 中将字符串更改为大写
x ='canada'
x = x.upper()print(x)
执行结果:
CANADA
一百一十八、在 Python 中拆分具有多个分隔符的字符串
import re
l = re.split(r'[$-]+','canada$-india$-japan$-uae')print(l)
x ='canada'
y =''.join(['ca','na','da'])print(x == y)print(x is y)
x =[1,2,3]
y =[1,2,3]print(x == y)print(x is y)
z = y
print(z is y)
执行结果:
TrueFalseTrueFalseTrue
一百二十一、每当数字与非数字相邻时,Python 正则表达式都会添加空格
import re
text =['123','abc','4x5x6','7.2volt','60BTU','20v','4*5','24in','google.com-1.2','1.2.3']
pattern =r'(-?[0-9]+\.?[0-9]*)'for data in text:print(repr(data),repr(' '.join(segment for segment in re.split(pattern, data)if segment)))
执行结果:
'123''123''abc''abc''4x5x6''4 x 5 x 6''7.2volt''7.2 volt''60BTU''60 BTU''20v''20 v''4*5''4 * 5''24in''24 in''google.com-1.2''google.com -1.2''1.2.3''1.2 . 3'
一百二十二、在 Python 中仅按第一个空格拆分字符串
s ='canada japan australia'
l = s.split(' ',1)print(l)
执行结果:
['canada','japan australia']
一百二十三、在 Python 中将字符串中的一些小写字母更改为大写
indices =set([0,7,14,18])
s ="i love China"print("".join(c.upper()if i in indices else c for i, c inenumerate(s)))
执行结果:
I love China
一百二十四、将字符串拆分为具有多个单词边界分隔符的单词
import re
thestring ="a,b,c d!e.f\ncanada\tjapan&germany"
listitems = re.findall('\w+', thestring)for item in listitems:print(item)
import re
string_test ="Ethnic (279), Responses (3), 2016 Census - 25% Sample"print(re.findall(r"[\w']+", string_test))defsplit_by_char(s, seps):
res =[s]for sep in seps:
s, res = res,[]for seq in s:
res += seq.split(sep)return res
print(split_by_char(string_test,[' ','(',')',',']))
# Example 1
str1 ="Can"
str2 ="ada"
str3 = str1 + str2
print(str3)# Example 2
str4 ='Ca'
str4 +='na'
str4 +='da'print(str4)# Example 3
join_str ="".join((str1, str2))print(join_str)# Example 4
str_add = str1.__add__(str2)print(str_add)
执行结果:
Canada
Canada
Canada
Canada
一百二十八、在 Python 中遍历字符串
# Example 1
test_str ="Canada"for i, c inenumerate(test_str):print(i, c)print("------------------------")# Example 2
indx =0while indx <len(test_str):print(indx, test_str[indx])
indx +=1print("------------------------")# Example 3for char in test_str:print(char)
执行结果:
0 C
1 a
2 n
.......
d
a
一百二十九、从 Python 中的字符串中去除标点符号
import string
import re
# Example 1
s ="Ethnic (279), Responses (3), 2016 Census - 25% Sample"
out = re.sub(r'[^\w\s]','', s)print(out)# Example 2
s ="Ethnic (279), Responses (3), 2016 Census - 25% Sample"for p in string.punctuation:
s = s.replace(p,"")print(s)# Example 3
s ="Ethnic (279), Responses (3), 2016 Census - 25% Sample"
out = re.sub('[%s]'% re.escape(string.punctuation),'', s)print(out)
执行结果:
Ethnic 279 Responses 32016 Census 25 Sample
Ethnic 279 Responses 32016 Census 25 Sample
Ethnic 279 Responses 32016 Census 25 Sample
一百三十、将列表转换为字符串
list_exp =['Ca','na','da']print(type(list_exp))# Example 1
str_exp1 =''.join(list_exp)print(type(str_exp1))print(str_exp1)# Example 2
str_exp2 =''.join(str(e)for e in list_exp)print(type(str_exp2))print(str_exp2)# Example 3
str_exp3 =''.join(map(str, list_exp))print(type(str_exp2))print(str_exp2)
import json
# list with dict a simple Json format
json_exp = \
[{"id":"12","name":"Mark"},{"id":"13","name":"Rock","date":None}]print(type(json_exp))
str_conv = json.dumps(json_exp)# stringprint(type(str_conv))print(str_conv)
# Example 1
str_list =["Japan","Canada","Australia"]print(str_list)
str_list.sort()print(str_list)# Example 2
str_list =["Japan","Canada","Australia"]for x insorted(str_list):print(x)# Example 3
str_var ="Canada"
strlist =sorted(str_var)print(strlist)
执行结果:
['Japan','Canada','Australia']['Australia','Canada','Japan']
Australia
Canada
Japan
['C','a','a','a','d','n']
一百三十三、在 Python 中检查字符串是否以 XXXX 开头
import re
exp_str ="Python Programming"# Example 1if re.match(r'^Python', exp_str):print(True)else:print(False)# Example 2
result = exp_str.startswith("Python")print(result)
执行结果:
TrueTrue
一百三十四、在 Python 中将两个字符串网格或交错在一起的不同方法
str1 ="AAAA"
str2 ="BBBBBBBBB"# Example 1
mesh ="".join(i + j for i, j inzip(str1, str2))print("Example 1:", mesh)# Example 2
min_len =min(len(str1),len(str2))
mesh =['']* min_len *2
mesh[::2]= str1[:min_len]
mesh[1::2]= str2[:min_len]print("Example 2:",''.join(mesh))# Example 3
mesh =''.join(''.join(item)for item inzip(str1, str2))print("Example 3:", mesh)# Example 4
min_len =min(len(str1),len(str2))
mesh =['']* min_len *2
mesh[::2]= str1[:min_len]
mesh[1::2]= str2[:min_len]
mesh += str1[min_len:]+ str2[min_len:]print("Example 4:",''.join(mesh))
执行结果:
Example 1: ABABABAB
Example 2: ABABABAB
Example 3: ABABABAB
Example 4: ABABABABBBBBB