前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 技巧篇-字符串灵活处理:字符串过滤、字符串拼接,字符串切片,特殊、超长字符串的处理实例演示

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

作者头像
小蓝枣
发布2020-09-23 10:24:50
8910
发布2020-09-23 10:24:50
举报
文章被收录于专栏:CSDN博客专家-小蓝枣的博客

字符串简单处理的话用字符串切片很容易实现, 形如: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

代码语言:javascript
复制
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)

运行效果图:

在这里插入图片描述
在这里插入图片描述
实例二

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

预期效果如下: /html/body/div[@id='wrapper']/div[@id='head']/div/div/div/form[@id='form']/span/input[@id='su']

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

代码语言:javascript
复制
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

运行效果图:

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/03/17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实例一:
  • 实例二
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档