我正在尝试解析PHP中的字符串并将子字符串存储到数组中。字符串的格式如下:
@SomeText1 ;SomeText2 $SomeText3 #SomeText4
(“ SomeText”子字符串永远不会包含@; $#字符,因此不必担心)
我想使用PHP分别提取SomeText1,SomeText2,...,但是有一个问题。一切都来自“;” 是可选的。因此,一些示例字符串可能是:
@ SomeText1 ; SomeText2
@ SomeText1 # SomeText4
@ SomeText1 $ SomeText3 # SomeText4
我完全不知道该怎么做。
我试图在这里寻找答案,但我能找到的最接近的是(匹配正则表达式中的可选子字符串)和(正则表达式以在输入块的中间捕获可选组),但是尝试时我失败了将其应用于我的案子。
提前非常感谢您。
一种方法是使用preg_split
:
$array = preg_split('/\s*[;$#]\s*/', $text);
您也可以@
在其中添加一个,如果要删除它,则忽略第一个元素:
$array = preg_split('/\s*[@;$#]\s*/', $text);
array_shift($array);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句