Python那些关于字符串的操作
- 1 前言
- 2 字符串的处理操作
- .2.1分割字符串
- 2.2拼接字符串
- 2.3正则表达式
- 2.4enumerate
- 2.5字符串中的大小写转化
- 2.6 对齐加数
- 总结
1 前言
python关于字符串的操作很多,而正则化直接是打开新世界的大门。同一种说法,使用不同语言进行实现,就是完全不同的效果!这里先简单介绍几种最近使用到的字符串操作!
2 字符串的处理操作
.2.1分割字符串
可以采用.split(“xx”)
,就是以xx为分割线进行分割。
刷题中对于题目的数据输入处理,常常需要我们自己对输入数据进行处理,那么就会涉及到字符串的分割。
python">line=input()
words=line.split(";")
例如:当input()
为题目中的输入,那么当输入为10;20
时,我们需要分割开来,就可以按照上面的方式进行使用。直接采用xx.split(“yy”)
。这里的分割可以是字符、符号、空格都行。
2.2拼接字符串
使用+
或者.join()
" ".join(x)
:相当于空格加字符x;当需要不断将字符拼接成字符串时,可以利用for
循环结合.join()
来完成操作。
- 查找字符串:使用
find()
或者index()
2.3正则表达式
使用import re
- re.compile——制定规则(这里是指,我们可以利用正则化表达来进行数据区分)
$为结尾
.表示匹配任何字符
\d表示匹配任何数字字符
[]来定义一个字符集合
*表示匹配前一个字符的0次或多次重复
+表示匹配前一个字符的1次或多次重复
?表示匹配前一个字符的0次或1次重复
\来转义特殊字符
例如:合法坐标为A(或者D或者W或者S) + 数字(两位以内)
Python写法:
python">rule=re.compile(r'^[ASWD]\d{1,2}$')
[ASWD]
就是定义一个字符集合
\d{1,2}
就是匹配两位的数据字符
通过这样的形式,可以快速解决条件限制问题,简化代码。
C++写法:
if((arr[i].size() == 3) && (arr[i][1] >='0') && (arr[i][1] <= '9') && (arr[i][2] >='0') && (arr[i][2] <= '9'))
if((arr[i].size() == 2) && (arr[i][1] <= '9') && (arr[i][1] >= '0'))
C++的写法就相对复杂,通过二维数组需要使用条件语句进行判断。
- re.search——搜索
2.4enumerate
找字符串中对应的字符的索引。
例如:
python">for index,char in enumerate(L1)
这里就是在L1字符串中直接进行遍历,然后可判断char
是否为我们想要的字符,然后进行索引处理。
2.5字符串中的大小写转化
upper()
用于将字符串中的所有字符转换为大写lower()
是大写转小写
经常有需要大小写转化,在c++中可能需要使用ASCii码或者其他方式进行转化,而python直接使用函数就处理掉了。
2.6 对齐加数
- rjust() 是字符串(str)对象的一个方法,用于将字符串右对齐并返回结果。
python">text = "x"print(text.rjust(2)) # 输出: ' x'
上面示例就是将x向右对齐,根据设置的长度,补齐剩下内容。
总结
正则化操作可以继续深入研究,python的正则化使用极大提升了效率!