PHP - 从文本中删除点但排除数字

标签 php regex

<分区>

我想删除包含 numberstext 的字符串中的点 (.)。

例如:S.D.M.SSDMS

但我想保留 numbers 中的 (.) 原样。

例如:123.50123.50

我尝试了 str_replace(),但它删除了所有 (.)

如何在 PHP 中实现?

最佳答案

使用 preg_replace :

$result = preg_replace('/(?<!\d)\.(?!\d)/', '', $string);

在哪里

  • (?<!\d)是负向回顾,假设点之前没有数字。
  • (?!\d)是负前瞻,假设点后没有数字。

关于PHP - 从文本中删除点但排除数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41313318/

相关文章:

php - 除了 excel.php 配置文件之外,如何为 Laravel 5.2 的 maatwebsite 的 laravel excel 包 2.0.8 更改 startRow?

regex - 如何编写正则表达式来匹配 '012356789'(无 4)

PHP 查找文本中的所有链接

html - 正则表达式 "does not contain attribute"在 html 中

php - Selenium 服务器 - 为正在测试的应用程序预定义常量?

php mysql 在 SELECT 语句中添加 *

php - PHP for MySQL 查询中 while() 循环内的随机跳转

PHP:向 Eclipse 控制台发送消息/记录日志?

java - 检查是否只有一个垂直条 |在一个字符串中?使用正则表达式

regex - 用于匹配 IP 地址的 Python 正则表达式逻辑