0
点赞
收藏
分享

微信扫一扫

94-java 三次握手

全栈顾问 2024-09-19 阅读 26

Python那些关于字符串的操作


1 前言

python关于字符串的操作很多,而正则化直接是打开新世界的大门。同一种说法,使用不同语言进行实现,就是完全不同的效果!这里先简单介绍几种最近使用到的字符串操作!


2 字符串的处理操作

.2.1分割字符串

可以采用.split(“xx”),就是以xx为分割线进行分割。
刷题中对于题目的数据输入处理,常常需要我们自己对输入数据进行处理,那么就会涉及到字符串的分割。

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写法:
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

找字符串中对应的字符的索引。
例如:

for index,char in enumerate(L1)		

这里就是在L1字符串中直接进行遍历,然后可判断char是否为我们想要的字符,然后进行索引处理。

2.5字符串中的大小写转化

  • upper() 用于将字符串中的所有字符转换为大写
  • lower()是大写转小写
    经常有需要大小写转化,在c++中可能需要使用ASCii码或者其他方式进行转化,而python直接使用函数就处理掉了。

2.6 对齐加数

  • rjust() 是字符串(str)对象的一个方法,用于将字符串右对齐并返回结果。
text = "x"print(text.rjust(2))  # 输出: ' x'

上面示例就是将x向右对齐,根据设置的长度,补齐剩下内容。


总结

正则化操作可以继续深入研究,python的正则化使用极大提升了效率!

举报

相关推荐

0 条评论