Python提取两个字符串之间的内容
/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、首先打开Python将字符串定义出来,在定义的字符串后面添加中括号,输入需要提取的字符所在的位置。
2、点击运行程序,可以看到系统打印出来我们定义的字符串中的第一个字符,因为字符串是有空格的,空格也要占用位置。
3、这里可以看到字符显示在程序运行界面下方,按照我们指定的内容输出,这里写的是0输出第一个字符。
4、同样的也可以一次性的输出多个字符,如图所示,将字符串的起始位置用冒号隔开,写在中括号内,这样就会显示多个字符。
5、这里输入的位置是第0到5,可以发现对照我们字符串中内容,相应位置上的字符被打印出来,而其它位置上的字符完全没有显示。
6、如果字符串比较大,内容比较多,从后面数比较方便,也可以直接输出倒数第几个的字符。
7、这时候直接使用负号来说明这是倒数的位置,用起来也特别方便。
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)