首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用preg replace在替换字符串中插入找到的字母

如何使用preg replace在替换字符串中插入找到的字母
EN

Stack Overflow用户
提问于 2013-02-06 15:47:14
回答 4查看 76关注 0票数 0

我想替换下面写的字符串

代码语言:javascript
复制
AND ( (wp_usermeta.meta_key = 'first_name' AND CAST(wp_usermeta.meta_value AS CHAR) LIKE '%A%')
AND  (mt1.meta_key = 'wp_capabilities' AND CAST(mt1.meta_value AS CHAR) LIKE '%\"s2member\\_level2\"%') )

代码语言:javascript
复制
AND ( (wp_usermeta.meta_key = 'first_name' AND CAST(wp_usermeta.meta_value AS CHAR) LIKE 'A%')
AND  (mt1.meta_key = 'wp_capabilities' AND CAST(mt1.meta_value AS CHAR) LIKE '%\"s2member\\_level2\"%') )

在上面的代码中,我想要实现的是将%[a-zA-Z]%替换为[a-zA-Z]%

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-02-06 15:55:07

您需要捕获字母并再次插入替换字符串。

代码语言:javascript
复制
%([a-zA-Z])%

这将捕获字母,因为周围有括号。

并替换为

代码语言:javascript
复制
$1%

$1是该捕获组的内容

在php中,它看起来像这样

代码语言:javascript
复制
$SourceString = preg_replace('/%([a-zA-Z])%/', '$1%', $SourceString);
票数 1
EN

Stack Overflow用户

发布于 2013-02-06 15:50:44

使用$string = str_replace("%A%", "%A", $string);

票数 0
EN

Stack Overflow用户

发布于 2013-02-06 15:54:08

我不确定,但你可以试试这个。

代码语言:javascript
复制
$find ="/%A%/"; 
$replace ="A%"; 

echo preg_replace ($find, $replace, "AND ( (wp_usermeta.meta_key = 'first_name' AND CAST(wp_usermeta.meta_value AS CHAR) LIKE '%A%')"); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14723987

复制
相关文章

相似问题

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