2

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

这有效:

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

当我尝试...

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

...或以不同的方式对分隔符进行排序,我会在 3 个中的 1 个或 3 个中的 2 个或空数组上进行拆分。

感谢您提供任何帮助或良好的正则表达式链接。

4

2 回答 2

2

只需使用

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

这意味着您正在拆分-, _,.

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

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

所以多个确定器作为一个应用。

于 2012-11-04T15:17:22.477 回答
1

你应该使用:

// [_.-] stands for a character of underscore or dash or period.
$family02 = preg_split('/[_.-]/', $row['family'], -1, PREG_SPLIT_NO_EMPTY);
于 2012-11-04T15:15:30.570 回答