我有这个字符串(它是一个苹果.strings文件):
/* this is a comment line; it may contain semicolons */
"you have here some text; also may contain semicolons" = "some other text;";
/* this is a comment line; it may contain semicolons */
"you have here some text; also may contain semicolons" = "some other text;";
等等。
我需要在每条非注释行末尾的分号后拆分此字符串。
如果我使用explode(";\n", $string);
可能不准确,因为该行可以以;(空格)(新行)结尾
更新: 输出应该是一个数组。每个元素应包含注释行(如果存在)和引用的字符串行。
答案 0 :(得分:1)
如果你只关心可选的空格,你可能会相处
$array = preg_split("/;\s*\n/", $string);
preg_split
采用正则表达式,而explode
采用字符串作为分隔符。
答案 1 :(得分:0)
您可能最好只是逐行读取文件,使用strpos()测试注释字符,并使用str_getcsv()解析文件行而不是regexp