首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中使用多个分隔符拆分字符串

问在PHP中使用多个分隔符拆分字符串
EN

Stack Overflow用户
提问于 2011-07-25 15:38:58
回答 6查看 10.1K关注 0票数 1

我可以使用preg_split用逗号分割字符串,如下所示

代码语言:javascript
复制
$words = preg_split('/[,]/', $string);

如何使用点、空格和分号来拆分字符串?

PS。我在PHP的preg_split页面上找不到任何相关的例子,这就是为什么我要问这个问题。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-07-25 15:52:34

试试这个:

代码语言:javascript
复制
<?php

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

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

var_dump($words);
// -> ["foo", "bar", "baz", "boo", "bat"]

解释的模式

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

.与.字符匹配,这不需要在字符类中进行转义。虽然这需要在不在字符类中时进行转义,因为.的意思是“匹配任何字符”。

\s匹配空格

;在分号上拆分,这不需要转义,因为它没有特殊的含义。

末尾的+确保拆分字符后的空格不会显示为匹配字符

票数 7
EN

Stack Overflow用户

发布于 2011-07-25 15:43:07

示例就在这里,可能不是字面上的,而是一个带有多个分隔符选项的拆分

代码语言:javascript
复制
$words = preg_split('/[ ;.,]/', $string);
票数 3
EN

Stack Overflow用户

发布于 2011-07-25 15:43:32

像这样的东西?

代码语言:javascript
复制
<?php
$string = "blsdk.bldf,las;kbdl aksm,alskbdklasd";
$words = preg_split('/[,\ \.;]/', $string);

print_r( $words );

结果:

代码语言:javascript
复制
Array
(
    [0] => blsdk
    [1] => bldf
    [2] => las
    [3] => kbdl
    [4] => aksm
    [5] => alskbdklasd
)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6813007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档