使用PHP获取字符串中的分隔标点符号

时间:2011-05-26 08:53:57

标签: php

我有一个销售给多个客户的产品,每个客户都有自己独特的产品代码,来自我的原始产品代码,例如

我的密码:1245-65

客户1:1245/65

客户2:1245.65

我的问题:有没有办法分析这样的字符串并找到将其整数分开的内容?我的目标是设置一个设置页面,其中将输入演示客户代码,然后所有产品代码将从该示例代码中派生。我确信PHP可以解决这个问题!

额外信息:

抱歉,我没有提供足够的信息。可能存在分隔符是字母数量的情况,例如1245ABC65。当很多人给出了有效的答案时,我讨厌更新这样的问题:(我的错。

3 个答案:

答案 0 :(得分:2)

您可以使用正则表达式查找分隔符。

$str = '1245/65';
preg_match("/\d+(.)\d+/", $str, $separator);
$separator = $separator[1];

答案 1 :(得分:0)

使用preg_split和正则表达式搜索除数字之外的其他字符。

$separador = preg_split ('/\d/', '1234/65', -1, PREG_SPLIT_NO_EMPTY)
$separador = $separador[0];

答案 2 :(得分:0)

您可能希望使用preg_match_all

查找非数字字符
preg_match_all('/[^0-9]/', '1245-95', $matches);
print_r($matches);

//Array ( [0] => Array ( [0] => - ) ) in the example

有了更新的问题,你必须写:

$str = '1245ABC65';
preg_match("/\d+([^0-9]+)\d+/", $str, $separator);
echo $separator = $separator[1];

preg_match_all('/[^0-9]+/', '1245ABC95', $matches);
print_r($matches);

//Array ( [0] => Array ( [0] => 'ABC' ) ) in the example