python 字符串操作

1.字符串的使用

1.1 字符串的截取

str = 'len=1800'

截取字符串中数字,并转化为数字

str1 = str[4:] #得到字符串 '1800',  

num = eval(str1) #将字符串转换为数字,eval 用于比较复杂的情况,也可以直接用int(str1)

#eval用于更复杂的情况,比如  str_num = "(2+3)*5" num = eval(str_num)

1.2 字符串分割

str = '00041612 16:28:12 [17620] mainframe-com_m_nFrame = 9,len=1800 m_bMeasureStatus=0, dTempx=,1872,1030.390244,nError=0,'

对于单个分隔符时

可以用 temp = str.split(',')

多个分隔符

string.split一次处理一个分隔符,对于多个分隔符时可以用正则表达式,但处理较慢

对于多个分隔符时,可以用re.split()

首先import re   然后调用split即可


#TempList = re.split('[, ]', line) #此处空格分割还是有问题
TempList = re.split(r'[,\s]', line) #用这个

上面代码的分隔符为逗号,与空格\s

1.3 查找字符find 与 index

#字符串 find找不到返回-1; index找不到返回error
nPos1 = line.find('len=') #数据长度
nPos2 = line.find('dTempx=,') # 数据长度

1.4在字符串前加r的用法-raw string 原始字符串,防止字符转义

TempList = re.split(r'[,\s]', line) 

中字符串前r'[,\s]' 加上了r,r为raw的意思,raw string 原始字符串,此字符串中的 \s \t \n \b \r ... 等转义符号,就不进行转义了, 为原来的表示,去掉反斜杠的转移机制。常用于正则表达式,对应着re模块。

\s 空格

 \n 换行

\t  tab键

1.5字符串前加f--format string(格式化字符串)

以 f开头表示在字符串内支持大括号内的python 表达式

a = 2
b = 3
name = 'nihao'
print(f'{name} done in {b - a} ')

#输出为: nihao done in 1 

1.6格式化字符串,保留小数点两位

str_num = "av:{0:.2f}".format(aver_pos1) #显示文字,保留小数点后两位

1.7 去掉字符串中空格

strip():把头和尾的空格去掉
 
lstrip():把左边的空格去掉
 
rstrip():把右边的空格去掉 

 参考:

详解Python中字符串前“b”,“r”,“u”,“f”的作用_python_脚本之家 (jb51.net)https://www.jb51.net/article/176601.htm

你可能感兴趣的:(python,开发语言)