Php 用短语编号替换字符串中的数字
在PHP中,我有一个字符串,其值类似于Php 用短语编号替换字符串中的数字,php,regex,string,preg-replace,Php,Regex,String,Preg Replace,在PHP中,我有一个字符串,其值类似于1或2,或者可能是1和(20或3)。我想将这些数字替换为一个短语,后跟数字,使之成为类似于condition1的意思: 1或2=>condition1或condition2 1和(20或3)=>condition1和(condition20或condition3) 我想我可以用preg_replace来做这件事,但我不知道怎么做。在替换过程中,我很难保留数字的值 如果让它变得更简单,我也会接受javascript中的答案,如果运算符的参数是字符串中唯一的数字
1或2
,或者可能是1和(20或3)
。我想将这些数字替换为一个短语,后跟数字,使之成为类似于condition1
的意思:
1或2
=>condition1或condition2
1和(20或3)
=>condition1和(condition20或condition3)
我想我可以用preg_replace来做这件事,但我不知道怎么做。在替换过程中,我很难保留数字的值
如果让它变得更简单,我也会接受javascript中的答案,如果运算符的参数是字符串中唯一的数字,您可以执行以下操作:
$new = preg_replace( '/(\d+)/', 'condition$1', $input);
这将匹配任意连续数目的数字,并在捕获组中捕获它们,稍后我们将其替换为$1
从中可以看出,对于您的测试用例,这将输出:
condition1 OR condition2
condition1 AND (condition20 OR condition3)
如果运算符的参数是字符串中唯一的数字,则可以执行以下操作:
$new = preg_replace( '/(\d+)/', 'condition$1', $input);
这将匹配任意连续数目的数字,并在捕获组中捕获它们,稍后我们将其替换为$1
从中可以看出,对于您的测试用例,这将输出:
condition1 OR condition2
condition1 AND (condition20 OR condition3)
你可以用
str_replace($search,$replace,$string)
这是您问题的解决方案还是您需要其他解决方案?您可以使用
str_replace($search,$replace,$string)
这是你问题的解决方案还是你想要别的。。。你能举一个句子的例子吗?preg_replace是可以接受的,但我不知道如何正确地使用它来做我需要的事情。。。你能举一个句子的例子吗?preg_replace是可以接受的,但我不知道如何正确地使用它来做我需要的事情