Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何仅替换一个字符和字符串的最后一个字符_Php_String_Replace_Str Replace - Fatal编程技术网

Php 如何仅替换一个字符和字符串的最后一个字符

Php 如何仅替换一个字符和字符串的最后一个字符,php,string,replace,str-replace,Php,String,Replace,Str Replace,我需要像一个str_replace()一样,但只有一个字符,并且必须是字符串的最后一个字符 例如,如果我有: $var = "one,two,three,four,finish"; 我需要返回: "one,two,three,fourfinish"; 我需要替换字符串的最后一个, 我知道这可能很容易,但我在网上没有找到任何明确的信息 如果$var的最后一个字始终是“finish”,则可以使用以下命令: $var = "one,two,three,four,finish"; $goodVar

我需要像一个
str_replace()
一样,但只有一个字符,并且必须是字符串的最后一个字符

例如,如果我有:

$var = "one,two,three,four,finish";
我需要返回:

"one,two,three,fourfinish";
我需要替换字符串的最后一个


我知道这可能很容易,但我在网上没有找到任何明确的信息

如果$var的最后一个字始终是“finish”,则可以使用以下命令:

$var = "one,two,three,four,finish";
$goodVar = str_replace(',finish', 'finish', $var);
print $goodVar;

如果$var的最后一个字始终是“finish”,则可以使用:

$var = "one,two,three,four,finish";
$goodVar = str_replace(',finish', 'finish', $var);
print $goodVar;
试试这个

$string = 'one,two,three,four,finish';
$find = ',';
$replace = '';
$result = preg_replace(strrev("/$find/"),strrev($replace),strrev($string),1);
echo strrev($result);
试试这个

$string = 'one,two,three,four,finish';
$find = ',';
$replace = '';
$result = preg_replace(strrev("/$find/"),strrev($replace),strrev($string),1);
echo strrev($result);
您可以使用查找字符串中最后出现的字符串,然后使用:



如果要替换它,只需在您的条件下连接替换字符串:

<?php
    $var = "one,two,three,four,finish";
    $replace = "-";

    if ($lastPosition = strrpos($var, ',')) {
        $var = substr($var, 0, $lastPosition) . $replace . substr($var, $lastPosition + 1);
    }

    var_dump($var); //string(24) "one,two,three,four-finish"
?>

您可以使用查找字符串中最后出现的字符串,然后使用:



如果要替换它,只需在您的条件下连接替换字符串:

<?php
    $var = "one,two,three,four,finish";
    $replace = "-";

    if ($lastPosition = strrpos($var, ',')) {
        $var = substr($var, 0, $lastPosition) . $replace . substr($var, $lastPosition + 1);
    }

    var_dump($var); //string(24) "one,two,three,four-finish"
?>

使用查找字符串中最后一个逗号的位置,并使用以下命令将其删除:


使用查找字符串中最后一个逗号的位置,并使用以下命令将其删除:


您可以使用
strchr
查找给定字符串中最后出现的字符

试一试


Demo

您可以使用
strchr
查找给定字符串中最后出现的字符

试一试


演示

您可以使用strrpos查找字符“”的最后偏移量。然后进行剪切和合并。

您可以使用strrpos查找字符“”的最后偏移量。然后进行剪切和合并。

您不是在替换,而是在删除它。这就是你真正想要的吗?我想删除它,我的意思是替换,因为我已经解决了它。非常感谢。你不是在替换-你是在移除它。这就是你真正想要的吗?我想删除它,我的意思是替换,因为我已经解决了它。非常感谢。问题是我想删除“,”,我不能用任何单词替换它。问题是我想删除“,”,我不能用任何单词替换它。但字符必须存在,否则它会删除第一个字符:@H2Ooooo:对-最好确保该字符确实是您要删除的字符(正如您在回答中所做的):)该字符必须存在,否则它会删除第一个字符:@H2Ooooo:对-最好确保该字符确实是您要删除的字符(正如您在回答中所做的那样):)
$var = "one,two,three,four,finish";
$len =  strlen($var)-strlen(substr(strrchr($var,","),1));
echo  substr($var,0,$len-1).substr(strrchr($var,","),1);