繁体   English   中英

正则表达式删除前缀并附加后缀

[英]Regex to remove prefix and append suffix

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

prefix_foobar

我想删除“ prefix_”部分,并在末尾附加“ _suffix”。

foobar_suffix

是否可以通过仅调用一次preg_replace在PHP中执行此操作?

编写一个模式来删除'prefix_'并将其替换为''是很容易的,但是我在如何追加到末尾的问题上苦苦挣扎。

是的,您可以这样做:

$repl = preg_replace('/prefix_(.+)(?<!_suffix)$/', '${1}_suffix', $input);

负向后查找 (?<!_suffix)是为了避免在已经存在后缀的情况下添加它。

正则演示

怎么样:

$output = preg_replace('/prefix_(.*?)/', "$1_suffix", $input);

我个人会这样做:

$var = 'prefix_koko';

echo ltrim($var, 'prefix_').'_my_suffix';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM