Board logo

标题: [文本处理] 批处理如何提取文本中特定字符串/字段中的数字并输出到新的文本里? [打印本页]

作者: comkom1    时间: 2016-6-4 17:29     标题: 批处理如何提取文本中特定字符串/字段中的数字并输出到新的文本里?

本帖最后由 pcl_test 于 2016-6-4 21:11 编辑

<config>
<a id="attack"
data="key:0,xx:0,yy:0,w:61,h:91,dx:37,dy:82|key:1,xx:0,yy:0,w:62,h:90,dx:38,dy:82|key:2,xx:0,yy:0,w:62,h:87,dx:38,dy:79|key:3,xx:0,yy:0,w:68,h:86,dx:43,dy:78|key:4,xx:0,yy:0,w:67,h:93,dx:43,dy:85|key:5,xx:0,yy:0,w:77,h:89,dx:54,dy:80

竖向图---------
data="
key:0,xx:0,yy:0,w:61,h:91,dx:37,dy:82|
key:1,xx:0,yy:0,w:62,h:90,dx:38,dy:82|
key:2,xx:0,yy:0,w:62,h:87,dx:38,dy:79|
key:3,xx:0,yy:0,w:68,h:86,dx:43,dy:78|
key:4,xx:0,yy:0,w:67,h:93,dx:43,dy:85|
key:5,xx:0,yy:0,w:77,h:89,dx:54,dy:80|

想提取里面的DX:   DY:  后面的数字,并且写入到另外文本里面保存,并且分行!求大神指教啊!希望能用DAT批处理
作者: comkom1    时间: 2016-6-4 17:47

大神们,有办法没有,重金求解啊。
252738423联系我。
作者: ivor    时间: 2016-6-4 19:01

本帖最后由 ivor 于 2016-6-4 19:15 编辑

回复 1# comkom1

Python3.5 代码
  1. # coding:utf-8
  2. # 想提取里面的DX:   DY:  后面的数字,并且写入到result文本里面保存,
  3. import re
  4. for line in open('example.txt'):
  5.     for cols in line.split(sep=','):
  6.         if cols.find('dx') == 0 or cols.find('dy') == 0:
  7.             print(re.search('[0-9]+', cols).group(0), file=open('result.txt', 'a'))
复制代码
结果
37
82
38
82
38
79
43
78
43
85
54
80

作者: bailong360    时间: 2016-6-4 22:01

  1. //&@cls&cscript -nologo -e:jscript "%~f0"&pause&exit
  2. WScript.Echo(
  3.     new ActiveXObject('Scripting.FileSystemObject').OpenTextFile('test.txt').ReadAll().match(/(\d+(?=,dy))|(\d+(?=\|))/g).join('\n')
  4. );
复制代码

作者: pcl_test    时间: 2016-6-5 00:03

  1. mshta http://bathome.net/s/hta/ "type('文本.txt').match(/d(x|y):\d+/ig).join('\r\n').replace(/d(x|y):/ig, '')"
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2