首页 Python正文

Python 设置字符串填充对齐,查找内容第一次出现的位置。Python 9个字符串实用技巧

sanrenxing Python 2022-08-16 408 0 | 文章出自:https://mp.weixin.qq.com/s?__biz=MzI5OTAwNjMzMg==&mid=2694958766&idx=1&sn=580ee381f6598d703a78b9fed7dcc55d&chksm=c9c84ebdfebfc7abe366da7b86803a7d2d06e155bb4443a895d85397272d5959d736df188bd7#rd python字符串join替换查找

使用字符串

01-字符串是一种序列

    在Python 看来,字符串其实就是一种序列,除了赋值类操作,所有标准序列操作(索引、切片、乘法、成员资格检查、长度、最小值和最大值)都适用于字符串。

>>> website='www.sanrenxing365.cn'
>>> website[-6:-3]
'365'
>>> website[-6:-3]=999
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment

02-让字符串居中

    方法center通过在两边添加填充字符让字符串居中,直到达到指定的字符串长度为止。默认为空格,也可以根据需要自定义设置。

>>> "听数据说话微信公众号".center(20)
'     听数据说话微信公众号     '
>>> "听数据说话微信公众号".center(20,"*")
'*****听数据说话微信公众号*****'

03-查找指定内容第一次出现的位置

    方法find在字符串中查找子串。如果找到,就返回子串的第一个字符的索引,否则返回-1。可以指定搜索的起点和终点。起点和终点值指定的搜索范围包含起点,但不包含终点。

>>> content="ting shu ju shuo hua wei xin gong zhong hao,gan xie guan zhu"
>>> content.find("hu")
6
>>> content.find("zan")
-1
>>> content.find("hu",21,31)
-1
04-字符串拆分

    字符串不可修改,但是字符串可以拆分。split是一个非常重要的字符串方法,其作用与join相反,用于将字符串拆分为序列。如果没有指定分隔符,将默认在单个或多个连续的空白字符(空格、制表符、换行符等)处进行拆分。

>>> url="www.sanrenxing 365.cn"
>>> url.split()
['www.sanrenxing', '365.cn']
>>> url.split(".")
['www', 'sanrenxing 365', 'cn']

05-字符串终极合成

    join是一个非常重要的字符串方法,其作用与split相反,用于合并序列的元素。所合并序列的元素都必须是字符串。

>>> url="www","sanrenxing365","cn"
>>> ".".join(url)
'www.sanrenxing365.cn'

06-字符串替换

    Python中,字符串替换有两种方式。方法replace将指定子串都替换为另一个字符串,并返回替换后的结果。

>>> "shujushuo".replace("u","a")
'shajashao'

    方法translate与replace一样替换字符串的特定部分,但不同的是它只能进行单字符替换。这个方法的优势在于能够同时替换多个字符,因此效率比replace高。

    这个方法的用途很多(如替换换行符或其他随平台而异的特殊字符)。使用translate前必须创建一个转换表。这个转换表指出了不同Unicode码点之间的转换关系。要创建转换表,可对字符串类型str调用方法maketrans,这个方法接受三个参数:两个长度相同的字符串,它们指定要将第一个字符串中的每个字符都替换为第二个字符串中的相应字符,第三个参数指定要将那些字符删除。

>>> table=str.maketrans("cs","kz"," ")
>>> "this is an incredible test".translate(table)
'thizizaninkredibletezt'

07-掐头去尾

    方法strip将删除字符串开头和末尾的指定字符(但不包含中间部分内容),并返回删除后的结果。默认为空白。

>>> content="   ting shu ju shuo hua wei xin gong zhong hao,gan xie guan zhu  "
>>> content.strip()
'ting shu ju shuo hua wei xin gong zhong hao,gan xie guan zhu'
>>> content="   ting shu ju shuo hua wei xin gong zhong hao,gan xie guan zhu***"
>>> content.strip("*")
'   ting shu ju shuo hua wei xin gong zhong hao,gan xie guan zhu'

08-将字符串放到需要的地方

    使用字符串格式设置运算符——百分号。这个运算符的行为类似于C语言中的经典函数printf:在%左边指定一个字符串(格式字符串),并在右边指定要设置其格式的值。指定要设置其格式的值时,可使用单个值(如字符串或数字),可使用元组(如果要设置多个值的格式),还可使用字典,其中最常见的是元组。

>>> format="ni hao ,%s %s %s %s %s huan ying ni!"
>>> values=('ting','shu','ju','shuo','hua')
>>> format % values
'ni hao ,ting shu ju shuo hua huan ying ni!'

09-十进制转为二进制

    井号(#)选项放在符号说明符和宽度之间,将触发另一种转换方式,转换细节随类型而异。例如,对于二进制、八进制和十六进制转换,将加上一个前缀。

>>> "{:b}".format(42)
'101010'
>>> "{:#b}".format(42)
'0b101010'
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论