php - 如何preg_replace括号内的特定字符?

标签 php regex preg-replace

我有一堆像这样的字符串:

test; test2 (2;5%).

我现在想要用PHP做的是纠正“;”在括号中,所以它看起来像:

test; test2 (2,5%) - mention the ",".

我尝试过的代码:

$string = preg_replace("/\(.;.\)/", ",", $string);

我的眼睛实际上因谷歌搜索而流血,所以请帮助我:)

最佳答案

1) 需要用反斜杠转义括号 (\)

2) 表达式中没有包含百分号

3) 将用单个 , 替换整个括号表达式(包括括号)

4) 正如 Zimzat 在评论中指出的那样,用 \d+ 替换句点 (.) 可能是一个更好的主意,它匹配数字而不是任何性格。

$string = preg_replace("/\((\d+);(\d+%)\)/", "($1,$2)", $string);

关于php - 如何preg_replace括号内的特定字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5225574/

相关文章:

php - preg_replace/e 修饰符被弃用,使用数组作为模式和替换

PHP imap_搜索 : UTF-8/Non-ASCII characters on Microsoft Exchange mail servers

php - 开源 php docx 到 pdf 的转换?

php - jquery ajax 多个请求

java - 在 Java 中将十六进制字符串转换为 int

regex - DFA -> RE 使用状态消除

javascript - 从 foreach 语句填充多个表单字段

javascript - 两个文本元素之间的正则表达式而不捕获这些元素? JavaScript

PHP用数组变量替换字符串中的{var ['key' ]}

php - 从 PHP 中的字符串替换此十六进制字符