我有一个对话文件,看起来像这样:
CHARACTER MOOD PROMPT RESPONSE TEXT LEVEL PATH
如您所见,所有内容都由空格分隔。当PROMPT RESPONSE TEXT
应该是一个标头(一起读取)时,所有标题组之间的间距不得超过两个空格,而每个标题之间的间距应大于3个空格。我想做的是将这一行添加到数组中,如下所示:
array(4) => {
[0]=> string(9) "CHARACTER",
[1]=> string(4) "MOOD",
[2]=> string(21) "PROMPT RESPONSE TEXT",
[3]=> string(5) "LEVEL",
[4]=> string(4) "PATH"
}
我正在尝试preg_split
与以下正则表达式一起使用,/\s\s\s+/
但它只产生了一个空数组。我假设如果在等于或大于3的任意数量的空间上,regexp都会分裂。
您可以使用以下命令,这将查找空格(至少为 3
次)
$results = preg_split('/\s{3,}/', $text);
var_dump($results);
输出量
array(5) {
[0]=> string(9) "CHARACTER"
[1]=> string(4) "MOOD"
[2]=> string(21) "PROMPT RESPONSE TEXT"
[3]=> string(5) "LEVEL"
[4]=> string(4) "PATH"
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句