0

我正在尝试找出一种快速简单的方法来从字符串中删除前两位数字和一个小数,如果它是这样组成的。

我已经完成了一半,但需要帮助才能完成。

所以(第一个是我开始的,第二个是结果):

xx.yyy       =     yyy
aaaaa        =     aaaaa
test.hello   =     test.hello
a.test.b.x   =     a.test.b.x
aa.bb.cc     =     bb.cc

所以它只删除2位数字和一个小数,如果它存在的话。如果它是三位数字和一个小数,那么它不会被删除。

这是我到目前为止的位置:

$string = 'xx.hello';
$pattern = '/(2-digits)./i';
$replacement = ''; // remove if matched
echo preg_replace($pattern, $replacement, $string);

?>
4

3 回答 3

1

这将处理字母、数字和下划线:

preg_replace('/^\w{2}\./', '', $string);

没有数字或下划线,大写和小写:

preg_replace('/^[a-zA-Z]{2}\./', '', $string);
于 2013-08-24T22:43:31.950 回答
0

假设“数字”是指实际数字(0-9),“十进制”是一个点:

$string = preg_replace('/^\d{2}\./','',$string);

于 2013-08-24T22:32:20.007 回答
0

尝试以下操作:

$pattern = "~^[0-9A-Za-z]{2}\\.~";

它匹配字符串开头的两个字母数字字符,后跟句点 (.)。请注意,句点已被转义,因此句点被解释为文字。(否则,句点匹配任何单个字符。)

于 2013-08-24T22:45:58.967 回答