python之字符串操作詳解

1、計算長度len

name = 'Alex'

print(len(name))

輸出結果:4

2、大小寫轉換(lower、upper)

大--小lower

name = 'ALEX'

print(name.lower())

小--大upper

name = 'alex'

print(name.upper())

例子:

s_str = 'acEQ'

you_input = input("請輸入驗證碼,不區分大小寫:")

if s_str.upper() == you_input.upper():

print("輸入成功")

else:

print("請重新輸入")

3、大小寫翻轉swapcase

s = 'alexWUsir'

s1 = s.swapcase()

print(s1)

4、全部翻轉

a = 'suowei'

d = a[::-1]

print(d)

輸出結果:iewous

5、字符串替換join

v = '_'

r = ['k','l']

print(v.join(r))

輸出結果:k_l

6、分割字符串split

a = 'a_b_n'

print(a.split('_'))

輸出結果:['a', 'b', 'n']

7、每個隔開的單詞首字母大寫title

s = 'alex*egon-wusir'

s4 = s.title()

print(s4)

8、通過元素找索引find

s = 'alexWUsir'

s8 = s.find('W')

print(s8,type(s8))

9、默認刪除前後空格strip

#把空格去掉

s = 'alexWUsir%'

s9 = s.strip('%')

print(s9)

s = '*alexWUsir%'

s91 = s.strip('%*')

print(s91)

#strip默認刪除前後空格

username = input("請輸入名字: ").strip()

if username =="春哥":

print("恭喜發財春哥")

10、默認刪除前後空格replace

s = '來看待街坊鄰居在大富科技城城順大富科技'

s11 = s.replace('街坊','老王',1)

print(s11)

11、字符串for

s = 'klfdfkjfdf'

for i in s:

print(i)

s = 'jfdkjf蒼井空kjfdkdj'

if '蒼井空' in s:

print("您的評論有敏感詞...")

12、字符串的索引與切片

s = 'ADCDLSESSRF' #s[首:尾:步長]

索引

s1 = s[0]

print(s1)

s2 = s[2]

print(s2)

s3 = s[-1]

print(s3)

s4 = s[-2]

print(s4)

s5 = s[0:3]

print(s5)

s6 = s[0:-1]

print(s6)

s7 = s[:]

s8 = s[0:]

print(s7,s8)

s9 = s[0:0]

print(s9)

s10 = s[0:5:2]

print(s10)

s11 = s[4:0:-1]

print(s11)

s12 = s[3::-1]

print(s12)

s13 = s[3::-2]

print(s13)

s14 = s[-1::-1]

print(s14)

s = 'asdfer'

for i in s:

print(i)

index = 0

while 1:

print(s[index])

index += 1

if index == len(s):break

content = input('>>>:').strip()

con1 = content.split('+')

#list[]

num = 0

for i in con1:

num += int(i)

print(num)

s = '132a4b5c'

s1 = s[0]+s[2]+s[1]

print(s1)

s = input("請輸入: ")

count = 0

for i in s:

if i.isdigit():

count +=1

print(count)

13、字符串格式化

1、%s %d

'http://www.baidu.com/page=%s'%1

2、format

'http://www.baidu.com/page={}'format(1)

格式化str

>>>a='hello %s'%'world'

格式化int

>>>a='number is %d'%20

格式化float

>>>a='number is %f'%20.1

格式化多個

>>>a='%s is %s'%('lr','cool')

字典格式化字符串

>>>a='%(name)s age is %(age)d'%{'name':'lr','age':18}

常用方式

>>>cu.execute("insert into test values(%s,%d)"%('lr',1234))

#format的三種玩法,格式化輸出

# s = '我叫{},今年{},愛好{},再說一下我叫{}'.format('小明',23,'girl','小明')

# print(s)

# s = '我叫{0},今年{1},愛好{2},再說一下我叫{0}'.format('小明',23,'girl')

# print(s)

# s = '我叫{name},今年{age},愛好{hobby},再說一下我叫{name}'.format(name='小明',age=23,hobby='girl')

# print(s)

14、其他

name = "my \\tname is alex"

print(name.capitalize()) #首字大寫

print(name.count("a")) #a有多少字符

print(name.center(50,"-")) #50中間

print(name.endswith("ex")) #以ex結尾

print(name.startswith("my")) #以my開頭

print(name.expandtabs(tabsize=30))

format :

>>> msg = "my name is {}, and age is {}"

>>> msg.format("alex",22)

'my name is alex, and age is 22'

>>> msg = "my name is {1}, and age is {0}"

>>> msg.format("alex",22)

'my name is 22, and age is alex'

>>> msg = "my name is {name}, and age is {age}"

>>> msg.format(age=22,name="ale")

'my name is ale, and age is 22'

format_map

>>> msg.format_map({'name':'alex','age':22})

'my name is alex, and age is 22'

#使用while和for循環分別打印字符串s=’asdfer’中每個元素。

s = 'asdfer'

for i in s:

print(i)

index = 0

while 1:

print(s[index])

index += 1

if index == len(s):break

#如:content = input(‘請輸入內容:’) # 如用戶輸入:5+9或5+ 9或5 + 9,然後進行分割再進行計算。

content = input('>>>:').strip()

con1 = content.split('+')

#list[]

num = 0

for i in con1:

num += int(i)

print(num)

content=input('>>>').strip()

index = content.find("+")

a = int(content[0:index])

b = int(content[index+1:])

print(a + b)

#咱們任意輸入一串文字+數字 統計出來數字的個數

s = input("請輸入: ")

count = 0

for i in s:

if i.isdigit():

count +=1

print(count)


分享到:


相關文章: