python字符串(特殊字符,取值,常用方法)

Python014

python字符串(特殊字符,取值,常用方法),第1张

1.字符

特殊字符

\n:换行

\r:删除\r前面的字符

\t:制表符

例如:

s_1 = "人生苦短,\n我选Python!"

s_2 = "人生苦短,\r我选Python!"

s_3 = "人生苦短,\t我选Python!"

print(s_1) # 人生苦短,

print(s_2) # 我选Python

print(s_3) # 人生苦短, 我选Python!

遇到特殊字符,想去掉效果,把特殊字符转成普通字符

可以使用# r R

s_1 =r "人生苦短,\n我选Python!"

s_2 =R "人生苦短,\r我选Python!"

s_3 = "人生苦短,\t我选Python!"

2.字符串取值

特点:取头不取尾,正序从0开始,倒序从-1开始

[start:end:step] #step:表示间隔

s='hello python lemon'

print(s[6:12:1]) #正序 python 6,7,8,9,10,11

print(s[-12:-6:1]) # 倒序 python -12,-11,-10,-9,-8,-7

print(s[:])#hello python lemon 从头取到尾 [:]

print(s[6:]) #python lemon 从6取到尾 [start:]

print(s[:17])# [:end] 从开始取到16

获取s所有的偶数位的字母

print(s[0:17:2])

获取s所有的奇数位的字母

print(s[1:18:2])

倒序输出所有的字母

print(s[17::-1]) # 不可以写出是s[17:-1:-1] or s[17:0:-1]

3.常用方法

find() : 返回-1表示未找到子字符串,找到会返回对应字符的索引,子字符包含单个字符或多个字符

isdigit():判断是否全部是数字,是返回True,否返回False

replace(要替换的内容:替换的内容:替换的次数):指定替换内容以及被替换的字符串,并可以指定替换次数,默认是全部替换

split(指定字符,指定切割的次数):根据指定字符对字符串进行切割,默认全部切割

strip():去掉头和尾指定的字符

upper():字符串的字母转成大写

lower():字符串的字母转成小写

swapcase():字符串的字母大小互换

例如:

s='learn python in lemon'

print(s.find('n')) #返回找到字符串的索引

print(s.find(python))#返回找到的子字符串的第一个索引值--6

print(s.find('k')) # 返回-1

print(s.find('o',11))#从索引值为11的值开始找---19

print(s.isdigit())# 返回False

s1 = "******learn python*****"

print(s.strip("*"))# learn python

文件的模式有很多种不一一列举,r+表示打开一个文件用于读写。文件指针将会放在文件的开头。

def readFile(path):

#R

with open(path,"r+") as f:

for line in f:

print(line)

f.close()

print("读文件完成")

path="D:\\tmp\\manim\\file\\1.txt"

readFile(path)

查找字符串位置,str.find(target) 返回起始点位置如果是-1则表示不存在

"123WWW".find("WWW")

文件指针偏移到指定位置

#文件路径,原字符串,要替换成的目标字符串

def replaceText(filePath,sourceText,targetText):

if(len(sourceText)!=len(targetText)):

raise Exception("原始字符串长度与目标字符串不符,容易覆盖有用信息", sourceText,targetText)

with open(filePath,'r+') as f:

line=f.readline()

index=0

# 遇到中间空行的可以自行观察并不是空字符串

while ( line!=""):

print(line)

# 本行内字符串所在位置

windex=line.find(sourceText)

if(windex!=-1):

print("windex={}".format(windex))

print("当前位置:{},替换内容起点:{}".format(f.tell(),index+windex))

f.seek(index+windex)

f.write(targetText)

# f.flush()

f.seek(index)

# 返回当前文件指针,应该是新一行的开始位置

index=f.tell()

line=f.readline()

f.close()

print("文件修改完毕")