|
我在工作中需要将文本中的指定内容复制到其他文本,格式和原来文本相同,不过使用正则表达式后,都有\n, 谁能处理下和原文本(st.txt)格式相同,谢谢。- import os, re
- with open (r'C:\Users\tjing\Desktop\python\st.txt','r+') as f:
- keyStart='ONOFFLINE : ON LINE'
- keyEnd='Warning:Site-01,'
- buff = f.read()
- pat = re.compile(keyStart+'.*?'+keyEnd, re.S)
- result = pat.findall(buff)
- print (result)
复制代码 另外,我参考其他网友的方法,不过以下程序只能检测关键字keystart在开头的状态,在文本中间就无法查找了,能帮忙找到原因吗,谢谢。
- # 以下方法只适用于关键语句keyStart在开头时使用
- import os, re
- def GetMiddleStr(content,startStr,endStr):
- '''提取字符串content当中,startStr与endStr之间的内容
-
- '''
- startIndex = content.index(startStr)
- ## if startIndex>=0:
- ## startIndex += len(startStr)
- endIndex = content.index(endStr)
- endIndex+=len(endStr)
- return content[startIndex:endIndex]
-
- with open (r'C:\Users\tjing\Desktop\python\st.txt','r+') as f:
- keyStart=r'ONOFFLINE : ON LINE'
- keyEnd=r'Warning:Site-01, ### remote_fetch(cim_TestResult) ### errr!!!'
- buff = f.read()
- result = GetMiddleStr(buff,keyStart,keyEnd)
- result = result.strip() # 清除前后的换行符
- print(result)
复制代码
|
-
运行后效果
-
-
st.txt
16.05 KB, 下载次数: 9
源文件
|