虽然您应该考虑解析 HTML/XML,但我总是使用 Notepad++ 来清理数据。你可能需要一些东西,但给你一些可能有帮助的东西......
https://regex101.com/r/uAPi97/1
现在上面的内容几乎是基于获取...的所有行
<? xml version="1.0" of encoding="UTF-8"?><abcdefghij><**ToDateTimestamp**>2019-01-01T10:41:18-05:00</xyzefg><**shAMount**>8000.00</afsfda;sfkj;alkfl;kaf>
...各占一行。所以关闭自动换行并检查它们。您可能需要找到(在“扩展模式”下)...
<?
...位并替换为...
\r<?
...例如。然后你可以(也许)使用正则表达式来查找整行(你必须找到整行),然后捕获感兴趣的位(这些被包裹在 () 中,因此它们被捕获)。然后在 Notepad++ 中进行查找和替换,但选择了正则表达式模式。
正则表达式...
^.*?(\d+-\d+-\d+T\d+:\d+:\d+-\d+:\d+).*(shAMount).*?(\d+\.\d+).*$
...查找整行,如果替换为...
$1$2$3
...然后将正则表达式中 () 中的三个位放回原处。所以这...
<? xml version="1.0" of encoding="UTF-8"?><abcdefghij><**ToDateTimestamp**>2019-01-01T10:41:18-05:00</xyzefg><**shAMount**>8000.00</afsfda;sfkj;alkfl;kaf>
<? xml version="1.0" of encoding="UTF-8"?><abcdefghij><**ToDateTimestamp**>2019-02-01T10:41:18-05:00</xyzefg><**shAMount**>7000.00</afsfda;sfkj;alkfl;kaf>
<? xml version="1.0" of encoding="UTF-8"?><abcdefghij><**ToDateTimestamp**>2019-02-01T10:41:18-05:00</xyzefg><**shAMount**>7000.00</afsfda;sfkj;alkfl;kaf>
<? xml version="1.0" of encoding="UTF-8"?><abcdefghij><**ToDateTimestamp**>2019-02-01T10:41:18-05:00</xyzefg><**shAMount**>7000.00</afsfda;sfkj;alkfl;kaf>
<? xml version="1.0" of encoding="UTF-8"?><abcdefghij><**ToDateTimestamp**>2019-02-01T10:41:18-05:00</xyzefg><**shAMount**>7000.00</afsfda;sfkj;alkfl;kaf>
<? xml version="1.0" of encoding="UTF-8"?><abcdefghij><**ToDateTimestamp**>2019-02-01T10:41:18-05:00</xyzefg><**shAMount**>7000.00</afsfda;sfkj;alkfl;kaf>
..有点像这个...
2019-01-01T10:41:18-05:00shAMount8000.00
2019-02-01T10:41:18-05:00shAMount7000.00
2019-02-01T10:41:18-05:00shAMount7000.00
2019-02-01T10:41:18-05:00shAMount7000.00
2019-02-01T10:41:18-05:00shAMount7000.00
2019-02-01T10:41:18-05:00shAMount7000.00
可能不是 100% 你想要的,但你可以从那里进一步清理它,然后说,找到(在扩展模式下)'shAMount'(不带引号)并替换为' \rshAMount' (不带引号)。几个查找和替换循环,您可能更接近您的目标。
但是是的...如果您经常这样做,请查看 Python 和 HTML Parser - 学习更多但功能强大。