Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用正则表达式删除数字delimeters_Php_Regex_Numbers - Fatal编程技术网

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
      这样的数字,你也要删除那里的点吗?