使用CSV文件批量提取两个字符串之间的值

时间:2017-08-30 06:05:05

标签: regex csv batch-file regular-language

我有一个包含多个列的CSV文件。其中一列是HTML内容。我的第一步是搜索<<<并将其替换为<<< - 其次我正在搜索>>>并将其替换为>>>。

我的目标是批量创建一个数组。对于这个过程,我想搜索所有看起来像<<<VALUE>>>上面的方案的元素并创建一个数组。

我找到了以下代码,但它对我不起作用......

for /F "tokens=1-2 delims=<<<>>>-" %%a in (temp.csv) do (@echo %%a %%b) 

有什么建议吗?

更新:

我现在想使用正则表达式,但这也不起作用......

for /f %%x in ("temp.csv") do (
  echo %%x | findstr /r "^<^<^<^(\.\?\*^)^>^>^>"
)

......有什么帮助吗? :)

亲切的问候, 马库斯

1 个答案:

答案 0 :(得分:0)

我现在使用administrator.de中带有正则表达式的简单工具batchRex.exe。我使用模式<<<(.*?)>>>来获取我的值并将它们保存到.txt文件中。之后我逐行从这个文件中读到一个数组,以便进一步研究 - 以防有人遇到同样的问题; - )

亲切的问候

马库斯