【发布时间】:2016-07-30 20:56:51
【问题描述】:
我一直在编写一个 ruby 脚本,它遍历一个文本文件并定位所有以输出路径开头的行并将其存储到该行的字符串 (linefromtextfile) 中。所以通常它定位如下行
"output_path":"/data/server/output/1/test_file.txt","text":
"output_path":"/data/server/output/2/test_file.txt","text":
我只想从行中提取路径名 (pathtokeep) 并写入文件,即:
/data/server/output/1/
/data/server/output/2/
我已经尝试过这个正则表达式,但它不起作用:
pathtokeep=linefromtextfile.split(?:\$/.*?/)([^/]*?\.\S*)
请有人在这里就我的 RegEx 提出建议 - 拆分是正确的方法还是有更简单的方法来做到这一点?
【问题讨论】:
-
你不需要感谢每个答案的作者。如果你这样做了,有一天你会面临选择感谢某人的糟糕答案,或者忽略对那个人的感谢,留下明显的暗示。如果您查看其他问题,您会发现 SO 还没有完成。
-
以后,当您给出示例时,为每个输入对象分配一个变量会很有帮助。这里可能是
str = '"output_path":"...xt":'。这样,读者可以在答案和 cmets 中引用这些变量,而无需定义它们。
标签: ruby regex string pathname