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])

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-13

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

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

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

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

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

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

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

本回答被网友采纳
第2个回答  2018-06-12
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)

本回答被提问者采纳
第3个回答  2018-06-12

相似回答