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

喜欢的点个赞❤吧!


目录
相关文章
|
1月前
|
Python
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
本篇将详细介绍Python中的字符串类型及其常见操作,包括字符串的定义、转义字符的使用、字符串的连接与格式化、字符串的重复和切片、不可变性、编码与解码以及常用内置方法等。通过本篇学习,用户将掌握字符串的操作技巧,并能灵活处理文本数据。
55 1
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
|
1月前
|
自然语言处理 Java 数据处理
【速收藏】python字符串操作,你会几个?
【速收藏】python字符串操作,你会几个?
57 7
|
21天前
|
测试技术 API 数据安全/隐私保护
Python连接到Jira实例、登录、查询、修改和创建bug
通过使用Python和Jira的REST API,可以方便地连接到Jira实例并进行各种操作,包括查询、修改和创建Bug。`jira`库提供了简洁的接口,使得这些操作变得简单易行。无论是自动化测试还是开发工作流的集成,这些方法都可以极大地提高效率和准确性。希望通过本文的介绍,您能够更好地理解和应用这些技术。
70 0
|
1月前
|
Python
Python中的push方法详解与实例
Python中的push方法详解与实例
|
1月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
33 0
|
1月前
|
数据可视化 Python
Python绘制基频曲线——实例解析与应用探讨
Python绘制基频曲线——实例解析与应用探讨
|
1月前
|
Python
Python实现图片的拼接
Python实现图片的拼接
|
1月前
|
Python 容器
AutoDL Python实现 自动续签 防止实例过期释放 小脚本 定时任务 apscheduler requests
AutoDL Python实现 自动续签 防止实例过期释放 小脚本 定时任务 apscheduler requests
31 0
|
1月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (一)
Python操作:字符串--列表--元组--字典--运算符 (一)
|
5天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
下一篇
无影云桌面