Python 字符串处理

字符串是 Python 中最常用的数据类型。如:

S='ABCD_1234'

一、字符串中的字符定位

字符串本质上就是单个字符组在的一个列表,可通过S[x]运算符指代相应字符,x标注在字符之前的位置,类似于打字的光标,代表该位置后的一个字符。第一个位置为0,S[0]表示字符'A'。[x:y]表示x和y两个位置之间的字符,[x:]和[:y]分别表示“”x位置之后的所有字符”和“y位置之前的所有字符”。如:[:6]表示第7个字符之前的所有字符(即:'ABCD_1')。

字符串对象提供了find('指定字符')和rfind('指定字符')两种方法,分别从头或从尾开始计算,返回所指定字符的下标位置,返回int类型数值。

二、字符查找、替换、插入、删除、计数

1、使用in或not in判断单个或连续的多个字符是否在字符串中。

2、使用find()、index()、rfind()、rindex()方法查找字符所在位置。

3、使用replace('A','B')方法,用B字符替换A字符;使用S.replace(r'想删除的字符','')可实现删除包括\n\t\r等特殊字符在内的任何ASCII字符的目的

4、使用S[:x] + '需插入字符' + S[x:],在x位置插入想要插入的字符;同理可删除指定位置字符。

5、使用zfill(width)将字符串拓宽到width(数值)指定的宽度,并在字符串左边用'0'字符补齐。

6、使用ljust(width,[fillchar])、rjust(width,[fillchar])、center(width, [fillchar]),将字符串拓宽到width(数值)指定的宽度,然后居左、居右、居中对齐,并用fillchar指定字符补齐空位,默认补空格。

7、使用strip(delchar)、lstrip(delchar)、rstrip(delchar)可删除字符串两端指定字符(串),默认删除空格。

8、使用count(substr, [start, [end]]) 统计指定字符在字符串中出现的次数。

三、字符串、列表、元组相互转换

1、str()、list()、tuple()可实现字符串、列表、元组转换;list(S)将字符串S按单个字符转换成列表;tuple(L)将列表转换为元组,各元素数据类型不变。

2、使用split([sep, [maxsplit]])方法,以sep为分隔符,把字符串分割转换成一个列表(list)。maxsplit表示分割的次数。默认的分割符为空白字符。

3、使用[sep].jion(list)方法,以sep为分隔符,把列表中各元素连接成一个字符串。

四、字符串中的变量

1、%和%( )

字符串中用%加相应字母标记位置,字符串后紧接(不用分隔符)%( )

    print "My name is %s and weight is %d kg!" % ('Zara', 21) 

 符   号描述
      %c 格式化字符及其ASCII码
      %s 格式化字符串
      %d 格式化整数
      %u 格式化无符号整型
      %o 格式化无符号八进制数
      %x 格式化无符号十六进制数
      %X 格式化无符号十六进制数(大写)
      %f 格式化浮点数字,可指定小数点后的精度
      %e 用科学计数法格式化浮点数
      %E 作用同%e,用科学计数法格式化浮点数
      %g %f和%e的简写
      %G %f 和 %E 的简写
      %p 用十六进制数格式化变量的地址

2、?和( )

字符串中用问号标记位置,括号中依顺序列出变量名,字符串与括号间用逗号分开。该方法用于SQL语句,SQL语句中不宜用Python的格式化字符串,如"%s",因为这一用法容易受到SQL注入攻击。

SQL="INSERT INTO people VALUES(?,?)",(who,age)

3、:和{ }

字符串中用:接变量名标记,{ }中用冒号给变量名赋值字符串与{ }间逗号分隔

SQL="SELECT * FROM people WHERE name_last=:who1 AND age = :age1",{"who1":who,"age1":age}

4、{ }和format()

字符串中使用用空{ }或带标号的{ }标记位置,字符串后.format()传入替代内容。注意字符串用点连接format()

    "{} {}".format("hello", "world") # 不设置指定位置,按默认顺序 'hello world'

    "{0} {1}".format("hello", "world") # 设置指定位置,输出 'hello world'

    "{1} {0} {1}".format("hello", "world") # 设置指定位置输出 'world hello world'

{ }中也可以设置参数名

    print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))

format()可以直接设定值,也可以是引用其他变量。

    print('value 为: {0.value}'.format(my_value))  # 向 str.format() 传入对象,"0" 是可选的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值