Python如何截取字符串的字符

 时间:2026-02-14 11:16:47

1、固定长度字符串的字符截取,示例1:”\\aaa\b\c”,要获取”aaa”这个值.

只需取第2至第5位字符就行,输入代码:

v_str=r"\\aaa\b\c"

v_res=v_str[2:5]

print('获取到的字符是:'+v_res)

Python如何截取字符串的字符

2、不固定长度的字符串截取,示例2:在名字不固定的路径”\\abcdefg\hi\j\k”里,截取主目录”abcdefg”的值(注:主目录可能是”abc”,也可能是”abcd”).

在一个不固定的变量里找字符,通常的思路是找到固定的东西,示例2里固定字符为”\\...\”.

我们先找出固定的字符,第一个固定的是主目录前面的”\\”,我们先把前面两个字符排除,录入代码:

v_str=r"\\abcdefg\hi\j\k"

v_res=v_str[2:]

print('获取到的字符是:'+v_res)

Python如何截取字符串的字符

3、这个v_str变量里面固定的第二个字符是”\”,再试着用find把它找出来:

v_str=r"\\abcdefg\hi\j\k"

v_res=v_str[2:v_str.find("\\")]

print('获取到的字符是:'+v_res)

Python如何截取字符串的字符

4、结果很明显失败了.这是因为find每次搜索都是从第一个字符开始的.如果前面两个字符不是”\\”,而是”//”,我们想要的结果已经出来了:

v_str=r"//abcdefg\hi\j\k"

v_res=v_str[2:v_str.find("\\")]

print('获取到的字符是:'+v_res)

Python如何截取字符串的字符

5、既然如此,我们借2个位搜索一下:

v_str=r"\\abcdefg\hi\j\k"

v_res=v_str[2:v_str[2:].find("\\")]

print('获取到的字符是:'+v_res)

Python如何截取字符串的字符

6、结果已经很接近了,只是后面少了2个字符.再把借来的位还回去,得到最终的结果:

v_str=r"\\abcdefg\hi\j\k"

v_res=v_str[2:v_str[2:].find("\\")+2]

print('获取到的字符是:'+v_res)

Python如何截取字符串的字符

7、好了,这种随机的不固定长度的字符串截取方法已经知道了.再梳理一下思路:

首先,我们知道固定长度的字符截取方法:

v_str=r"\\abcdefg\hi\j\k"

v_res=v_str[2:9]

print('获取到的字符是:'+v_res)

第一个数字2我已经知道,关键是第二个数字9怎么算出来?我们知道可通过find找到字符的索引值,在示例2里,固定的字符”\”有好多,排除掉前面两个后,得到第二个”\”的索引值:

v_str=r"\\abcdefg\hi\j\k"

print(v_str[2:].find("\\"))

但是,这个数字7是在”abcdefg\hi\j\k”的索引值,完整的字符串应该是”\\abcdefg\hi\j\k”,所以我们还得+2.

v_str=r"\\abcdefg\hi\j\k"

print(v_str[2:].find("\\")+2)

最后整合一下代码,结果就出来了:

v_str=r"\\abcdefg\hi\j\k"

v_res=v_str[2:v_str[2:].find("\\")+2]

print('获取到的字符是:'+v_res)

Python如何截取字符串的字符

Python如何截取字符串的字符

Python如何截取字符串的字符

Python如何截取字符串的字符

  • 详解MongoDB如何更新文档 ( 增加和删除属性 )
  • 英魂之刃出装、打法攻略系列1之玉兔
  • LOLS9最新9.13版本中单龙王最新出装玩法攻略
  • 星际战甲蛇颚刀怎么得?
  • VS2013,VS2015各版本如何打开graphics.h头文件
  • 热门搜索
    保定旅游地图 济南红叶谷旅游攻略 自由行旅游网 北京旅游信息网 去南京旅游攻略 贡嘎山旅游攻略 武汉旅游网 福建大金湖旅游攻略 澳新旅游 北海旅游地图