preg_split() 中的什么模式会被连字符、下划线和点分割?

问题描述 投票:0回答:2

我有一个充满字符串的数组,其中可能包含一个或多个下划线、破折号和句点。 我想将其拆分为由下划线、破折号和句点分隔的字符。到目前为止,我已经成功地使用了下划线和破折号,但没有成功使用句号。

这有效:

$family02 = preg_split('/_|-/', $row['family'], -1, PREG_SPLIT_NO_EMPTY);

当我尝试...

'/_|-./'
'/_|-\./'
'/_|-|./'

...或者以不同的方式排序分隔符,我会在 1 of 3 或 2 of 3 或空数组上进行分割。

php regex delimiter
2个回答
2
投票

简单使用

preg_split('/[-_.]/', $str)

这意味着您将被

-
_
.

之一分割

如果要删除字符串内的空组,请使用

preg_split('/[-_.]+/', $str)

因此多个限定词作为一个应用。


1
投票

您应该使用:

// [_.-] stands for a character of underscore or dash or period.
$family02 = preg_split('/[_.-]/', $row['family'], -1, PREG_SPLIT_NO_EMPTY);
© www.soinside.com 2019 - 2024. All rights reserved.