Python 技巧篇-字符串灵活处理:字符串过滤、字符串拼接,字符串切片,特殊、超长字符串的处理实例演示

简介: Python 技巧篇-字符串灵活处理:字符串过滤、字符串拼接,字符串切片,特殊、超长字符串的处理实例演示

字符串简单处理的话用字符串切片很容易实现,

形如:a="Hello Python!"a[-7:]="Python!"

规则:大于等于冒号前的小于冒号后的,两端可以省略,正的开头是0,小的开头是-1。

简单,短的字符串还好,复杂的,长的麻烦了。

我们用原始的方法来处理:回归原始,回归简单!

实例一:

有如下一串字符串,这是 xpath 路径,我想过滤掉中括号里的内容:

"/html/body/div[@id='wrapper']/div[@id='head']/div[@class='head_wrapper']/div[@class='s_form']/div[@class='s_form_wrapper  soutu-env-nomac soutu-env-index']/form[@id='form']/span[@class='bg  s_btn_wr']/input[@id='su']"

预想效果如下:

/html/body/div/div/div/div/div/form/span/input

s = "/html/body/div[@id='wrapper']/div[@id='head']/div[@class='head_wrapper']/div[@class='s_form']/div[@class='s_form_wrapper soutu-env-nomac soutu-env-index']/form[@id='form']/span[@class='bg s_btn_wr']/input[@id='su']"
s_new = ""
# s为原始字符串,s_new为新字符串
k = 0   # 设置一个开关,当为0时,我就拼接,为1时舍去
# 遍历字符串
for a in s:
    # 过滤掉中括号里的
    if(a == '['):
        k = 1;
    elif(a == ']'):
        k = 0;
        continue;
    # 符合要求的进行拼接
    if(k == 0):
        s_new = s_new + a
print(s_new)

运行效果图:

image.png

实例二

在实例一的基础上,只保留中括号里为 @id 的部分。

预期效果如下:

/html/body/div[@id='wrapper']/div[@id='head']/div/div/div/form[@id='form']/span/input[@id='su']

中间这样改造一下,当我匹配到左括号时,看看括号后是不是 @id

k = 0 
i = -1   # i是临时加的索引跟踪,判断a的位置
for a in s:
    i = i + 1
    if(a == '['):
        if(s[i:i+4] != "[@id"):   # 运用了字符串切片
            k = 1;
    elif(a == ']' and k == 1):
        k = 0;
        continue;
    if(k == 0):
        s_new = s_new + a

运行效果图:

image.png

喜欢的点个赞❤吧!


目录
相关文章
|
7天前
|
存储 索引 Python
字符串、列表、元组、字典(python)
字符串、列表、元组、字典(python)
|
9天前
|
Python
python之字符串定义、切片、连接、重复、遍历、字符串方法
python之字符串定义、切片、连接、重复、遍历、字符串方法
9 0
python之字符串定义、切片、连接、重复、遍历、字符串方法
|
1天前
|
存储 Python
语音输入,python数据类型,type()用来查看数据类型,数据类型转换,int(x)转整数,float(x)转换为浮点数,str(x),将对象转为字符串,标识符,标识符不允许使用关键字,关键字参考
语音输入,python数据类型,type()用来查看数据类型,数据类型转换,int(x)转整数,float(x)转换为浮点数,str(x),将对象转为字符串,标识符,标识符不允许使用关键字,关键字参考
Python----统计字符串中的英文字母、空格、数字和其它字符的个数。
Python----统计字符串中的英文字母、空格、数字和其它字符的个数。
python---将随机输入的时间格式字符串进行转换
python---将随机输入的时间格式字符串进行转换
|
8天前
|
索引 Python 容器
深入探索Python字符串:技巧、方法与实战
深入探索Python字符串:技巧、方法与实战
|
9天前
|
Python
Python 字符串格式化的方式有哪些?
这篇文章主要介绍了Python的字符串格式化方法,包括: 1. `%` 操作符,如 `%s`, `%d`, `%f` 用于基本的变量插入和类型转换。 2. `str.format()` 方法,利用 `{}` 占位符和位置或关键字参数。 3. f-strings (Python 3.6+),直接在字符串前加 `f` 并在花括号内嵌入变量。 4. `string.Template` 模块,使用 `$` 符号进行模板替换。 5. `str.format_map()` 方法,接受字典替换占位符。 文章强调f-strings在新代码中的推荐使用,因其简洁和可读性。
|
20天前
|
BI 测试技术 索引
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)-1
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)
|
20天前
|
存储 API C语言
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)-2
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)
|
9月前
|
存储 并行计算 数据挖掘
【100天精通Python】Day59:Python 数据分析_Pandas高级功能-多层索引创建访问切片和重塑操作,pandas自定义函数和映射功能
【100天精通Python】Day59:Python 数据分析_Pandas高级功能-多层索引创建访问切片和重塑操作,pandas自定义函数和映射功能
82 2