首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用php,如何将[0-9]、[0-9]替换为[0-9][0-9]?

使用php,如何将[0-9]、[0-9]替换为[0-9][0-9]?
EN

Stack Overflow用户
提问于 2014-07-26 14:10:34
回答 3查看 1.4K关注 0票数 3

假设我有一个字符串"1,000,786“。我想把这个改成"1000786“。我知道preg_replace的第一部分应该是"0-9,0-9“,但我不知道如何将数字值返回到preg_replace的”替换“部分。谢谢。

编辑:对不起,我忘了提到它并不像删除逗号那么简单,因为字母字符可能包括在内。只有当逗号在两个数字之间时,我才希望它消失。

例如:“苹果,香蕉1746”将是“苹果,香蕉1746”。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-26 14:14:06

下面的正则表达式只有在逗号前面有一个数字并且必须后面跟着一个数字的情况下才会删除逗号。

代码语言:javascript
运行
复制
(?<=\d),(?=\d)

替换字符串:

代码语言:javascript
运行
复制
Empty string

演示

你的密码是,

代码语言:javascript
运行
复制
<?php
$string = '1,000,786';
$pattern = "~(?<=\d),(?=\d)~";
$replacement = "";
echo preg_replace($pattern, $replacement, $string);
?> //=> 1000786

代码语言:javascript
运行
复制
<?php
$string = 'Apple, Banana 1,746';
$pattern = "~(?<=\d),(?=\d)~";
$replacement = "";
echo preg_replace($pattern, $replacement, $string);
?> //=> Apple, Banana 1746
票数 6
EN

Stack Overflow用户

发布于 2014-07-26 14:12:47

不需要使用正则表达式,对str_replace()的调用就足够了:

代码语言:javascript
运行
复制
$s = str_replace(",", "", "1,000,786");
票数 2
EN

Stack Overflow用户

发布于 2014-07-26 14:16:10

为了处理之前的文本,请考虑以下代码:

代码语言:javascript
运行
复制
$text = 'Apple, Banana, 1,746';
preg_match('/[0-9]+,[0-9]+/', $text, $matches);
$text = str_replace($matches[0], str_replace(',', '', $matches[0]), $text);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24971884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档