从数组中替换字符串

时间:2017-03-03 08:21:43

标签: php arrays

目前我有一个数组

$cop_row = array('first_pulse1', 'second_pulse2');

我想要的是取代第一_ &来自 cop_row 数组的秒_

我现在正在使用它,但它没有给我所需的结果。

str_replace("first_","",$cop_row);

我正在获得输出

pulse1second_pulse2

我想要的是

pulse1pulse2

感谢您的关注。

5 个答案:

答案 0 :(得分:2)

如果字符串总是这样格式化,那么您可以使用这个基本的RegExp替换:

preg_replace("/^.*_/", "", $cop_row)

该模式可能需要一些改进,但它适用于您的情况。

如果您需要有关模式的进一步帮助或解释,请随时询问!

答案 1 :(得分:2)

这将解决您的问题。

php > $x = ['first_pulse', 'second_pulse'];
php > $q = preg_replace('/(\w+)_/i', '', $x);
php > print_r($q);
Array
(
    [0] => pulse
    [1] => pulse
)
php > 

http://php.net/manual/en/function.preg-match.php

答案 2 :(得分:2)

$cop_row = array('first_pulse1', 'second_pulse2');

foreach ($cop_row as $key => $value) {
    $result_array[] = substr($value, strpos($value, "_") + 1);  
}

print_r($result_array);

此处的工作示例 - http://codepad.org/nOqWdmNu

答案 3 :(得分:1)

您可以使用preg_replace

$cop_row = array('first_pulse1', 'second_pulse2');

$patterns[0] = '/first_/';
$patterns[1] = '/second_/';
foreach($cop_row as $row){
    echo preg_replace($patterns, '', $row); 
}

答案 4 :(得分:1)

试试这个:

 $replace = ["first_","second_"];
 $cop_row = array('first_pulse1', 'second_pulse2');
 str_replace($replace,"",$cop_row);

请查看https://www.w3schools.com/php/func_string_str_replace.asp