python怎么样获取某个文件行指定字符串后面的字符?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python怎么样获取某个文件行指定字符串后面的字符?相关的知识,希望对你有一定的参考价值。

把每行读取后去掉前面不要的部分就可以了,这种简单处理不需要用正则,正则是用来进行复杂处理的。
比如读一行到s,然后
r,_,s=s.partition('指定字符串')
现在,r是不要的部分,s就是指定字符串后的部分,如果有结果的话,_的值也是指定字符串。
参考技术A 说详细点,最好举个例子追问

比如一个文件按行读取,每行都有“sfds",现在要一行行的执行读取它后面的那些字符串

参考技术B 搜索关键字正则表达式追问

我想到用正规表达式了,但是不知道怎么写

参考技术C 直接取就可以了。

Python提取两个字符串之间的内容

比如说文本1的内容为
/begin MEASUREMENT
100
LINK
DISPLAY
SYMBOL
/end MEASUREMENT
有好多类似格式的文本内容,我想把/begin MEASUREMENT和 /end MEASUREMENT之间的内容读取到一个新的文本中,应该怎么写代码

Python提取两个字符串之间的内容步骤如下:

1、截取前6个字符:c='12369abcdefg./.、

'print (c[0:6]) ,注意,c里面第0个字符,就是'1',是从第零个开始数的。

2、截取第六个到倒数第一个之间的字符串:

c='12369abcdefg./.、'

print (c[6:-1]) 

3、截取第9个字符后面所有的字符:

c='12369abcdefg./.、'

print (c[9:]) 

4、翻转字符串:

c='12369abcdefg./.、'

print (c[::-1]) 

5、翻转字符串,但是隔一个字符删掉一个字符:

c='12369abcdefg./.、'

print (c[::-2]) 

6、截取第三个元素和第3+9个元素:

c='12369abcdefg./.、'

print(c[3::9])

参考技术A

1、首先打开Python将字符串定义出来,在定义的字符串后面添加中括号,输入需要提取的字符所在的位置。

2、点击运行程序,可以看到系统打印出来我们定义的字符串中的第一个字符,因为字符串是有空格的,空格也要占用位置。

3、这里可以看到字符显示在程序运行界面下方,按照我们指定的内容输出,这里写的是0输出第一个字符。

4、同样的也可以一次性的输出多个字符,如图所示,将字符串的起始位置用冒号隔开,写在中括号内,这样就会显示多个字符。

5、这里输入的位置是第0到5,可以发现对照我们字符串中内容,相应位置上的字符被打印出来,而其它位置上的字符完全没有显示。

6、如果字符串比较大,内容比较多,从后面数比较方便,也可以直接输出倒数第几个的字符。

7、这时候直接使用负号来说明这是倒数的位置,用起来也特别方便。

参考技术B import re

str = '''/begin MEASUREMENT
100
LINK
DISPLAY
SYMBOL
/end MEASUREMENT'''

regex = r'/begin MEASUREMENT([\\s\\S]*)/end MEASUREMENT'
matches = re.findall(regex, str)
for match in matches:
    print(match)

追问

多谢了,我意思是这些内容是在一个文本文件里,比如1.txt文件,我想把读出来的内容放到2.txt里。麻烦大神了

追答import re
with open('1.txt') as fin, open('2.txt', 'w') as fout:
    text = fin.read();
    regex = r'/begin MEASUREMENT([\\s\\S]*?)/end MEASUREMENT'
    matches = re.findall(regex, text)
    for match in matches:
        fout.write(match)

本回答被提问者采纳
参考技术C

以上是关于python怎么样获取某个文件行指定字符串后面的字符?的主要内容,如果未能解决你的问题,请参考以下文章

怎么获取指定字符在字符串的位置?

CentOS 7怎么删除刚输入的文字

excel中怎么提取指定字符后面所有的字符

QT 获取字符串的位置

python中怎么返回指定查找字符的位置

利用awk命令提取其中一列包括特定字符的所有行怎么办