正则表达式替换小数

2024-02-24

我正在尝试构建一个正则表达式来替换任何不符合以下格式的字符:

任意位数,然后可选(单个小数点,任意位数)

i.e.
123            // 123
123.123        // 123.123
123.123.123a   // 123.123123
123a.123       // 123.123

我在 php 中使用 ereg_replace ,最接近我管理的工作正则表达式是

ereg_replace("[^.0-9]+", "", $data);

这几乎是我所需要的(除了它允许任意数量的小数点)

i.e.
123.123.123a    // 123.123.123

我的下一次尝试是

ereg_replace("[^0-9]+([^.]?[^0-9]+)?", "", $data);

which was meant to translate as
[^0-9]+        // any number of digits, followed by
(              // start of optional segment
  [^.]?        // decimal point (0 or 1 times) followed by
  [^0-9]+      // any number of digits
)              // end of optional segment
?              // optional segment to occur 0 or 1 times

但这似乎只允许任意数量的数字,仅此而已。

请帮忙

Thanks


尝试以下步骤:

  1. 删除除以下字符外的任何字符0-9 and .
  2. 删除任何.第一位小数点后面。

这是使用正则表达式的实现:

$str = preg_replace('/[^0-9.]+/', '', $str);
$str = preg_replace('/^([0-9]*\.)(.*)/e', '"$1".str_replace(".", "", "$2")', $str);
$val = floatval($str);

另一种只有一个正则表达式:

$str = preg_replace('/[^0-9.]+/', '', $str);
if (($pos = strpos($str, '.')) !== false) {
    $str = substr($str, 0, $pos+1).str_replace('.', '', substr($str, $pos+1));
}
$val = floatval($str);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式替换小数 的相关文章

  • SMTP 配置在生产中不起作用

    我正在尝试在提交表单时发送电子邮件 我正在使用 PHPMailer 使用以下配置发送邮件 mail new PHPMailer mail gt isSMTP mail gt Host mail example in mail gt Port
  • Yii2 异常:ApcCache 需要加载 PHP apc 扩展

    在高级模板前端的主配置中配置缓存组件时 我收到异常 在我的 php ini 上启用了扩展 rsults 如何解决此问题 前端 config main php cache gt class gt yii caching ApcCache ke
  • PHP 开发相当于 Mongrel/Webrick 吗?

    PHP 开发中是否有与 Rails 开发期间使用 Mongrel Webrick 等效的方法 我通常在端口 3000 上使用 Mongrel 在开发过程中为我的 Rails 应用程序提供服务 我从事 PHP 开发已经有几年了 据我所知 方法
  • 如何使用 Facebook SDK API 为页面/网址“点赞”?

    我正在使用这段代码 facebook gt api me likes post array url gt http www google com 我收到以下错误 Fatal error Uncaught OAuthException 200
  • 为什么这会返回资源 id #2? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • 在Python中检测re(regexp)对象

    我想知道什么是正确的 pythonic 向后和向前兼容的方法如何检查对象是否已编译re object isinstance方法不能轻易使用 而生成的对象声称是 sre SRE Pattern object gt gt gt import r
  • 如何在类似 MVC 的页面中加载基于漂亮 URL 的类?

    我想请教一些关于如何解决这个问题的提示 我正在尝试构建自己的 MVC 网站 我了解了 URL 的基础知识 http example com blog cosplay cosplayer expo today 博客 gt 控制器cosplay
  • Magento - 检查 cms 页面

    我想通过 php 检查页面是否是 Magento 中的 cms page 我需要不同的 cms 页面面包屑 所以我尝试在一个条件下做到这一点 但我不知道如何或在哪里查看 到目前为止 这是我的 breadcrumbs phtml p some
  • PHP Solr PECL 扩展安装

    我已经使用命令安装了 pecl solr pecl install solr 和梨使用 wget http pear php net go pear phar php go pear phar 重启Apache后 我仍然收到错误 Fatal
  • WordPress 分页自定义帖子类型

    我有一个名为 新闻 的页面 使用页面模板page newslist php 它应该显示来自自定义帖子类型 也称为新闻 的帖子 我意识到两者具有相同的名称会导致问题 因此在注册自定义帖子类型时 我进行了重写以将其与页面区分开来 rewrite
  • 使用 XSLT 将 XML 转换为 SQL

    由于我无法控制的原因 我将获得一个 XML 文件和一个 XSLT 文件 该文件可以将 XML 文件转换为 SQL 代码或错误 现在让我们假设我们可以信任提供 XML 文件的人不会在 XML 中包含危险的构造 我什至不知道是否应该使用 Sim
  • 正则表达式拆分数字和字母组,不带空格

    如果我有一个像 11E12C108N 这样的字符串 它是字母组和数字组的串联 如何在中间没有分隔符空格字符的情况下分割它们 例如 我希望分割结果为 tokens 0 11 tokens 1 E tokens 2 12 tokens 3 C
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • MySQL PHP邮政编码比较具体距离

    我试图找出比较一个邮政编码 用户提供的 和一大堆其他邮政编码 现在大约有 200 个邮政编码 之间的距离的最有效方法 相对于加载时间 但它会随着时间的推移而增加 我不需要任何精确的东西 只是在球场上 我下载了整个美国的邮政编码 csv 文件
  • Apache、PHP 和 MySQL 可移植吗?

    我可以在外部硬盘上运行 Apache PHP 和 MySQL 吗 我需要这个 因为我在不同的地方工作 计算机 有时我没有安装和配置所有使用的应用程序 当然可以 XAMPP http www apachefriends org en xamp
  • JavaScript RegEx:不同的结果:使用字符串和使用正则表达式“文字”构建模式?

    使用 RegExp 文字与字符串之间有什么区别吗 http jsfiddle net yMMrk http jsfiddle net yMMrk String prototype lastIndexOf function pattern p
  • 从数据库填充复选框

    我有两个表 第一个由与名称关联的 id 组成 1 汽车 2 火车 3 普通 ETC 第二个表由两个字段 user id 和第一个表中的 id 组成 例如 1 1 2 1 3 当用户转到该页面时 我试图重新填充选定的复选框 首先 您查询数据库
  • Laravel $request->file() 返回 null

    尝试在后端使用 Laravel 上传文件时遇到问题 Issue Laravel request gt file 方法返回 null Setup 我使用以下方法构建了一个 AJAX 请求超级代理人 https github com visio
  • 使用 php-ews(Exchange Web 服务)在特定日期后获取电子邮件

    在我的 PHP 脚本中 我需要弄清楚如何检索指定消息 ID 之后或特定日期之后的所有电子邮件 两者都可以 我只需要检索自上次抓取收件箱以来的新电子邮件 这个收件箱每天收到数千封电子邮件 而且我在 30 天内无法删除任何电子邮件 对于初始导入
  • 为什么我的会话仍然存在?

    我一定很愚蠢 因为似乎一件相当明显的事情现在让我完全困惑 我有一个会议 ie SESSION handbag id 在某个时刻 我需要彻底终止这个会话 ie at the start of the page session start el

随机推荐

  • 模板类中的 C++ 静态常量数组初始化

    我有以下模板类 template
  • 哪些注册表项决定 Outlook 配置文件

    我需要编写 VBScript 代码来检查 Outlook 是否使用 MAPI 配置文件或 RPC over HTTP S 配置文件 哪个注册表项决定相同 这在 Outlook 2013 中发生了变化 Outlook 2013 开发人员的新增
  • 如何在 Blazor 中直接更改 css(不带变量)?

    我正在使用 Blazor 的服务器端 我想改变body的CSS 在 Jquery 中我可以轻松地编写这样的代码 body css overflow y hidden 但是 通过本教程 Blazor 更改验证默认 css 类名称 https
  • $http.jsonp() 是如何工作的

    这是一个例子 json file name Jon Skeets name Bill Joy 如果这个 json 文件的获取方式为 http jsonp pathToFile then 它返回 404 没有任何问题pathToFile我已经
  • Blade 中的嵌套部分

    我正在研究 Blade 如何实现 section 但它的工作方式与我习惯的 Twig 略有不同 看来你不能将 sections嵌套在一起 Example layout blade php 基本布局文件 favicons meta conte
  • 始终触发且仅触发一次的“transitionend”事件

    我需要一个特别的transitionend like 事件 在所有转换完成后触发一次 或者如果 CSS 中没有定义转换则立即触发 这是我到目前为止所想到的 function event special transitionsComplete
  • 基于媒体查询的可选 Javascript 执行

    我试图弄清楚如何根据当前设备 媒体查询选择性地运行一段 javascript 我正在使用 Twitter Bootstrap 并且基本上有两个版本的媒体查询 media min width 980px media max width 979
  • HashMap(key: String, value: ArrayList) 返回一个 Object 而不是 ArrayList?

    我将数据存储在 HashMap 中 键 String 值 ArrayList 我遇到问题的部分声明了一个新的 ArrayList current 在 HashMap 中搜索字符串 dictCode 如果找到 则将 current 设置为返回
  • SQL aspnet_profile

    知道如何使用 SQL 从基于 UserID 的 aspnet profile 表中获取用户名字和姓氏 因为我想在 Telerik Reporting 中使用作为用户参数 示例行 名字是 George 姓氏是 Test UserID 06b2
  • 如何使 IvParameterSpec 随机但仍解密

    对于 Java 中的加密 文章位于http cwe mitre org data definitions 329 html http cwe mitre org data definitions 329 html声明初始化向量每次都应该不同
  • 将对象数组作为 TempData[] 传递给查看

    我想从后操作返回两个值到视图中RedirectToAction TempData 似乎是理想的选择 因为数据仅用于在用户保存后显示成功消息 我想在成功消息中显示用户刚刚保存的图像的小缩略图以及所保存项目的标题 目前我正在将所有数据作为new
  • 刷新 Integration Services 中的目标架构元数据

    我一直致力于一个包含 150 多个表的大型 ETL 项目 在设计过程中 我必须对几个表的目标列名称和数据类型进行重大更改 我的问题是我无法让 SSIS 查看我更改的表的新架构 所以我想知道如何让 SSIS 刷新此架构 我觉得很荒谬 没有办法
  • 我可以拥有一个 ID 以数字开头的元素吗?

    我可以有一个元素吗id以数字开头或完全是数字 例如 像这样的东西 div div 我可以有一个以 id 为数字的 div 吗 是的你可以 但使用 CSS 选择器选择 设计它会很痛苦 id仅由数字组成的值在 HTML 中完全有效 http w
  • VueJS 有没有办法从父级触发组件方法?

    我一直在搜索信息 只找到了一种从子组件发出事件的方法 然后可以在父组件中监听这些事件 有没有办法从父组件调用子方法 是的 只需在 Children 数组中找到您的组件 或者通过 ref 属性获取它 然后调用方法 ref doc https
  • 使用 subplot2grid 时如何共享x

    我是一名 Matlab 用户 最近转换为 Python 大部分 Python 技能都是我自己掌握的 但在绘图方面我遇到了困难 需要一些帮助 这就是我正在尝试做的 我需要制作一个由 3 个具有以下属性的子图组成的图形 子图布局为 311 31
  • 如何在 WP7 中以编程方式设置选定的全景项目

    我在 WP7 应用程序中使用全景控件 其中一个 PanoramaItems 将您带到另一个页面 然后您可以通过 EmailComposeTask 发送电子邮件 如果您不选择发送电子邮件并按后退按钮 全景图将返回到您上次选择的项目 但是 如果
  • 尽管包含 ,但 Clang 仍拒绝 type_info 不完整

    我不明白为什么 Clang 拒绝以下代码 include
  • React 的“memo”在返回的函数中删除了泛型

    我想使用 React 的memo对于一个具有generic https www typescriptlang org docs handbook generics html争论 不幸的是 泛型参数默认为泛型 并且所有花哨的泛型推导逻辑都丢失
  • String.Contains(Array?..) - VB.NET 中的坏词过滤器

    有没有办法检查字符串是否包含数组中的一项 像这样 dim txt as String badword1 you you son of a badword2 dim Badwords as String badword1 badword2 b
  • 正则表达式替换小数

    我正在尝试构建一个正则表达式来替换任何不符合以下格式的字符 任意位数 然后可选 单个小数点 任意位数 i e 123 123 123 123 123 123 123 123 123a 123 123123 123a 123 123 123