如何从字符串中提取所有字母字符并存储为一维数组?
How to extract all alphabetical characters from a string and store as a 1-dim array?
我有一个变量$var = "My name's Ankit"
。我想将 $var
的所有英文字母字符存储到一个数组 $charvar
中。我知道我可以在 $var
和 array_push
字符的整个长度上使用一个简单的 for 循环,如果它们是英文字符,则忽略。但是,我想知道 PHP 是否提供了一些可以做到这一点的功能。
我想要的 $charvar
是:
Array
(
[0] => M
[1] => y
[2] => n
[3] => a
[4] => m
[5] => e
[6] => s
[7] => A
[8] => n
[9] => k
[10] => i
[11] => t
)
您可以使用此方法去除所有字符,只留下您想要的字符。让我们假设 $s
是存储字符串的地方。要 select 只有字母表,请尝试;
$result = preg_replace("/[^a-zA-Z]+/", "", $s);
要添加数字,请尝试;
$result = preg_replace("/[^a-zA-Z0-9]+/", "", $s);
您可以将它用于任何其他角色。
针对您的情况;
$var = "My name's Ankit"
$charvar = preg_replace("/[^a-zA-Z]+/", "", $var);
如果有帮助请告诉我。
preg_match_all("![a-zA-Z0-9]!", "My name's Ankit",$matches);
print_r($matches);
输出:
Array
(
[0] => Array
(
[0] => M
[1] => y
[2] => n
[3] => a
[4] => m
[5] => e
[6] => s
[7] => A
[8] => n
[9] => k
[10] => i
[11] => t
)
)
其他答案不够好。
这完全符合您的要求,只需一步/一个功能。在零个或多个非字母字符上拆分字符串。
代码(Demo):
$var = "My name's Ankit";
$charvar = preg_split('/[^a-z]*/i', $var, 0, PREG_SPLIT_NO_EMPTY);
var_export($charvar);
输出:(无子数组)
array (
0 => 'M',
1 => 'y',
2 => 'n',
3 => 'a',
4 => 'm',
5 => 'e',
6 => 's',
7 => 'A',
8 => 'n',
9 => 'k',
10 => 'i',
11 => 't',
)
我有一个变量$var = "My name's Ankit"
。我想将 $var
的所有英文字母字符存储到一个数组 $charvar
中。我知道我可以在 $var
和 array_push
字符的整个长度上使用一个简单的 for 循环,如果它们是英文字符,则忽略。但是,我想知道 PHP 是否提供了一些可以做到这一点的功能。
我想要的 $charvar
是:
Array
(
[0] => M
[1] => y
[2] => n
[3] => a
[4] => m
[5] => e
[6] => s
[7] => A
[8] => n
[9] => k
[10] => i
[11] => t
)
您可以使用此方法去除所有字符,只留下您想要的字符。让我们假设 $s
是存储字符串的地方。要 select 只有字母表,请尝试;
$result = preg_replace("/[^a-zA-Z]+/", "", $s);
要添加数字,请尝试;
$result = preg_replace("/[^a-zA-Z0-9]+/", "", $s);
您可以将它用于任何其他角色。
针对您的情况;
$var = "My name's Ankit"
$charvar = preg_replace("/[^a-zA-Z]+/", "", $var);
如果有帮助请告诉我。
preg_match_all("![a-zA-Z0-9]!", "My name's Ankit",$matches);
print_r($matches);
输出:
Array
(
[0] => Array
(
[0] => M
[1] => y
[2] => n
[3] => a
[4] => m
[5] => e
[6] => s
[7] => A
[8] => n
[9] => k
[10] => i
[11] => t
)
)
其他答案不够好。
这完全符合您的要求,只需一步/一个功能。在零个或多个非字母字符上拆分字符串。
代码(Demo):
$var = "My name's Ankit";
$charvar = preg_split('/[^a-z]*/i', $var, 0, PREG_SPLIT_NO_EMPTY);
var_export($charvar);
输出:(无子数组)
array (
0 => 'M',
1 => 'y',
2 => 'n',
3 => 'a',
4 => 'm',
5 => 'e',
6 => 's',
7 => 'A',
8 => 'n',
9 => 'k',
10 => 'i',
11 => 't',
)