在PHP中拆分多个分隔符上的字符串

Rom*_*man 1 php preg-split

我可以用逗号分割一个字符串preg_split,比如

$words = preg_split('/[,]/', $string);
Run Code Online (Sandbox Code Playgroud)

如何使用点,空格和分号来分割字符串中的任何一个?

PS.我在PHP preg_split页面上找不到任何相关的例子,这就是我要问的原因.

chh*_*chh 7

试试这个:

<?php

$string = "foo bar baz; boo, bat";

$words = preg_split('/[,.\s;]+/', $string);

var_dump($words);
// -> ["foo", "bar", "baz", "boo", "bat"]
Run Code Online (Sandbox Code Playgroud)

模式解释

[] 是一个字符类,一个字符类由多个字符组成,并匹配类中的一个字符

.匹配.Character,这不需要字符类中进行转义.虽然这不需要在字符类中进行转义,因为它.意味着"匹配任何字符".

\s 匹配空白

; 要分割分号,这不需要转义,因为它没有特殊含义.

+在年底确保拆分后的字符空格不显示为匹配

  • @chh:点(`.`)只是字符类中的一个点,不需要转义. (2认同)