Php 使用正则表达式删除数字delimeters
我正在寻找一个简单而愚蠢的解决方案,从字符串中删除分隔符 此功能将Php 使用正则表达式删除数字delimeters,php,regex,numbers,Php,Regex,Numbers,我正在寻找一个简单而愚蠢的解决方案,从字符串中删除分隔符 此功能将2000 BC替换为2000 BC: $text preg_replace("/^[0-9.]+$/", "", $text); 例如: $text = 'Lorem ipsum dolor. Consetetur elitr 2.000 BC sed diam nonumy 300.' // Current behaviour (the delimeter at the end ot the line disappears)
2000 BC
替换为2000 BC
:
$text preg_replace("/^[0-9.]+$/", "", $text);
例如:
$text = 'Lorem ipsum dolor. Consetetur elitr 2.000 BC sed diam nonumy 300.'
// Current behaviour (the delimeter at the end ot the line disappears):
// Lorem ipsum dolor. Consetetur elitr 2000 BC sed diam nonumy 300
// Expected behaviour:
// Lorem ipsum dolor. Consetetur elitr 2000 BC sed diam nonumy 300.
要匹配仅出现在数字中的分隔符
\d+\K\.(?=\d+)
你的PHP代码应该是
<?php
$string = 'Lorem ipsum dolor. Consetetur elitr 2.000 BC sed diam nonumy 300.';
$pattern = "~\d+\K\.(?=\d+)~";
$replacement = "";
echo preg_replace($pattern, $replacement, $string);
?>
说明:
Lorem ipsum dolor. Consetetur elitr 2000 BC sed diam nonumy 300.
一个或多个数字\d+
丢弃以前匹配的字符\K
匹配一个应后跟一个或多个数字的文字点(=\d+)
\d+\K\.(?=\d+)
你的PHP代码应该是
<?php
$string = 'Lorem ipsum dolor. Consetetur elitr 2.000 BC sed diam nonumy 300.';
$pattern = "~\d+\K\.(?=\d+)~";
$replacement = "";
echo preg_replace($pattern, $replacement, $string);
?>
说明:
Lorem ipsum dolor. Consetetur elitr 2000 BC sed diam nonumy 300.
一个或多个数字\d+
丢弃以前匹配的字符\K
匹配一个应后跟一个或多个数字的文字点(=\d+)
\d+\K\.(?=\d+)
你的PHP代码应该是
<?php
$string = 'Lorem ipsum dolor. Consetetur elitr 2.000 BC sed diam nonumy 300.';
$pattern = "~\d+\K\.(?=\d+)~";
$replacement = "";
echo preg_replace($pattern, $replacement, $string);
?>
说明:
Lorem ipsum dolor. Consetetur elitr 2000 BC sed diam nonumy 300.
一个或多个数字\d+
丢弃以前匹配的字符\K
匹配一个应后跟一个或多个数字的文字点(=\d+)
\d+\K\.(?=\d+)
你的PHP代码应该是
<?php
$string = 'Lorem ipsum dolor. Consetetur elitr 2.000 BC sed diam nonumy 300.';
$pattern = "~\d+\K\.(?=\d+)~";
$replacement = "";
echo preg_replace($pattern, $replacement, $string);
?>
说明:
Lorem ipsum dolor. Consetetur elitr 2000 BC sed diam nonumy 300.
一个或多个数字\d+
丢弃以前匹配的字符\K
匹配一个应后跟一个或多个数字的文字点(=\d+)
- 您可以替换
(?您可以替换(?您可以替换(?您可以替换(?如果有一个像.45
这样的数字,你也要删除那里的点吗?如果有一个像.45
这样的数字,你也要删除那里的点吗?如果有一个像.45
这样的数字,你也要删除那里的点吗?如果有一个像.45
这样的数字,你也要删除那里的点吗?