php将字符串拆分为带有元数据的数组

时间:2017-01-22 15:10:33

标签: php regex delimiter preg-split metacharacters

我想将一个字符串拆分为数组。我希望单词和元字符在数组中分开。 像这样:

$string = 'This is a string? Or an array?';

我想:

array[0] = 'This',
array[1] = 'is',
array[2] = 'a',
array[3] = 'string',
array[4] = '?',
array[5] = 'Or',
array[6] = 'etc';

我知道必须使用preg_split。但我可以管理只选择字符串或没有字符串。我在互联网上搜索,但我只能找到没有元字符的例子 我希望有人知道答案,因为我在preg_spilt的分隔符中。

感谢您的时间。

2 个答案:

答案 0 :(得分:3)

你可以这样做:

\b

打印:

lblTest1.BackColor = Color.Black
lblTest2.BackColor = Color.Black
lblTest3.BackColor = Color.Black

这里发生的事情是你在Private Sub lblTest1_Click(sender As Object, e As EventArgs) Handles lblTest1.Click lblTest1.BackColor = Color.Red End Sub Private Sub lblTest2_Click(sender As Object, e As EventArgs) Handles lblTest2.Click lblTest2.BackColor = Color.Red End Sub Private Sub lblTest3_Click(sender As Object, e As EventArgs) Handles lblTest3.Click lblTest3.BackColor = Color.Red End Sub 分裂,这是一个单词边界。修剪和过滤的原因是它也匹配空格。

答案 1 :(得分:0)

您也可以尝试使用explode()

$string= 'This is a string? Or an array?';
$replaced_string = str_replace("?", " ?", $string); 
$array = explode(" ", $replaced_string);

for ($i = 0; $i < count($array); $i++){
    echo $array[$i]."<br>";
}

结果是:

This<br>
is<br>
a<br>
string<br>
?<br>
Or<br>
an<br>
array<br>
?

或者这样做:

for ($i = 0; $i < count($array); $i++){
    echo 'array['.$i.']='.$array[$i]."<br>";
}

结果是:

array[0]=This<br>
array[1]=is<br>
array[2]=a<br>
array[3]=string<br>
array[4]=?<br>
array[5]=Or<br>
array[6]=an<br>
array[7]=array<br>
array[8]=?