使用php';s preg_split
我有这个字符串(它是一个apple.strings文件): 等等 我需要在每个未注释行末尾的分号后拆分此字符串 如果我使用使用php';s preg_split,php,regex,string,split,preg-split,Php,Regex,String,Split,Preg Split,我有这个字符串(它是一个apple.strings文件): 等等 我需要在每个未注释行末尾的分号后拆分此字符串 如果我使用分解(;\n,$string)可能不准确,因为该行可能以a结尾;(空白)(新行) 更新: 输出应该是一个数组。每个元素都应该包含注释行(如果存在)和带引号的字符串行。您最好逐行读取文件,使用测试注释字符,并使用解析文件行,而不是使用regexp如果您只关心可选的空白,您可能会接受 $array = preg_split("/;\s*\n/", $string); preg
分解(;\n,$string)代码>可能不准确,因为该行可能以a结尾;(空白)(新行)
更新:
输出应该是一个数组。每个元素都应该包含注释行(如果存在)和带引号的字符串行。您最好逐行读取文件,使用测试注释字符,并使用解析文件行,而不是使用regexp如果您只关心可选的空白,您可能会接受
$array = preg_split("/;\s*\n/", $string);
preg\u split
采用正则表达式,而explode
采用字符串作为分隔符。来自您的示例。。您的预期输出是什么您可以使用\s*\n
允许冒号和行尾之间有空格。-或者使用preg\u match\u all
和“([^“]+)”\s*=\s*”([^“]+)”\*;直接匹配所有键/值对代码>。如果值可能不包含转义版本的“
请使用类似^”(.*?)\s*=\s*”(.*?)\s*\n$
的内容。str\u getcsv()不会弄乱包含分号的带引号字符串吗?我认为会。使用str\u getcsv()的关键在于它正确处理带引号的字符串
$array = preg_split("/;\s*\n/", $string);