Python中如何截取字符?
Python在网页中获得的字符是总数:123456
只想将数字部分存入Excel,在Python中,如何截取字符?
现在的效果:
总数
总数:38351
总数:145450
总数:231720
总数:29420
总数:72861
总数:20586
总数:37661
总数:40405
想要的效果:
总数
38351
145450
231720
29420
72861
20586
37661
40405
字符串切片?
比如这个“总数:38351”,只要数字的话,字符串切片就是 本帖最后由 liuzhengyuan 于 2020-5-14 08:56 编辑
split("总数:")
>>> s = """总数:38351
总数:145450
总数:231720
总数:29420
总数:72861
总数:20586
总数:37661
总数:40405"""
>>> lst = s.split("总数:")
>>> lst
['', '38351\n', '145450\n', '231720\n', '29420\n', '72861\n', '20586\n', '37661\n', '40405'] 本帖最后由 xiaosi4081 于 2020-5-14 09:06 编辑
heidern0612 发表于 2020-5-14 08:39
字符串切片?
比如这个“总数:38351”,只要数字的话,字符串切片就是
例:
import re
count = len(open("test.txt",'r').readlines())
count=count+1
s = open("test.txt",'r',encoding='gbk')
t="" #这边要给t初始化,不然下面会报错
for i in range(1,count):
j=s.readline()
t=t+re.sub("\d","",j)
t=t+'\n'
print(t)
test.txt:
总数
总数:38351
总数:145450
总数:231720
总数:29420
总数:72861
总数:20586
总数:37661
总数:40405 或者你直接提取数字 或者
s = "总数:38351"
s = s.split(":") 本帖最后由 Twilight6 于 2020-5-14 09:22 编辑
这个有明显规律的最简单了,直接列表切片就好
string
你想麻烦一点,用正则也行:
re.findall('总数:(\d*)',string)
Twilight6 发表于 2020-5-14 08:57
这个有明显规律的最简单了,直接列表切片就好
你想麻烦一点,用正则也行:
你那个正则不行 xiaosi4081 发表于 2020-5-14 09:08
你那个正则不行
怎么说不行,指出错误我改改 Twilight6 发表于 2020-5-14 09:09
怎么说不行,指出错误我改改
我刚刚试了,结果是空的:
[] xiaosi4081 发表于 2020-5-14 09:10
我刚刚试了,结果是空的:
那是因为我代码里面的冒号是中文的,你的字符串是英文的,而且我打成总分了{:10_245:} {:7_129:}
页:
[1]