如何使用 php 将字符串中的最后一个逗号替换为 "and"?
How to replace last comma in string with "and" using php?
我正在尝试使用 strrchr()
和 str_replace()
.
将文本中最后一次出现的逗号替换为 "and"
示例:
$likes = 'Apple, Samsung, Microsoft';
$likes = str_replace(strrchr($likes, ','), ' and ', $likes);
但这会替换整个最后一个单词(在本例中为 Microsoft),包括该字符串中的最后一个逗号。我怎样才能删除最后一个逗号并将其替换为“和”?
我需要使用 strrchr()
作为函数来解决这个问题。这就是为什么这个问题没有重复而且更具体。
首先,你必须将元素分成一个数组,除了最后一个,最后一个。然后你用逗号和 "and" 分别把它们放回原处
$likes = "A, B, C";
$likes_arr = explode(",", $likes);
$last = array_pop($likes_arr);
$likes = implode(",", $likes_arr) . " and" . $last;
echo $likes; //"A, B and C";
但是:不要忘记检查您是否确实有足够的元素。对于没有逗号的输入,这会失败。
您可以使用正则表达式查找字符串中的最后一个逗号。 Php preg_replace()
通过正则表达式模式将字符串替换为另一个字符串。
$likes = 'Apple, Samsung, Microsoft';
$likes = preg_replace("/,([^,]+)$/", " and ", $likes)
检查结果 demo
只替换最后一次出现的,我认为更好的方法是:
$likes = 'Apple, Samsung, Microsoft';
$likes = substr_replace($likes, ' and', strrpos($likes, ','), 1);
strrpos 找到最后一个逗号的位置,并且 substr_replace 将所需的字符串放在该位置以替换本例中的 '1' 个字符。
只需提供函数 strrchr()
的答案
$likes = 'Apple, Samsung, Microsoft';
$portion = strrchr($likes, ',');
$likes = str_replace($portion, (" and" . substr($portion, 1, -1)), $likes);
因为 strrchr()
会
This function returns the portion of string
所以我们只需要替换逗号就可以了。当您使用 strrchr()
时,逗号将始终是第一个字符
我正在尝试使用 strrchr()
和 str_replace()
.
示例:
$likes = 'Apple, Samsung, Microsoft';
$likes = str_replace(strrchr($likes, ','), ' and ', $likes);
但这会替换整个最后一个单词(在本例中为 Microsoft),包括该字符串中的最后一个逗号。我怎样才能删除最后一个逗号并将其替换为“和”?
我需要使用 strrchr()
作为函数来解决这个问题。这就是为什么这个问题没有重复而且更具体。
首先,你必须将元素分成一个数组,除了最后一个,最后一个。然后你用逗号和 "and" 分别把它们放回原处
$likes = "A, B, C";
$likes_arr = explode(",", $likes);
$last = array_pop($likes_arr);
$likes = implode(",", $likes_arr) . " and" . $last;
echo $likes; //"A, B and C";
但是:不要忘记检查您是否确实有足够的元素。对于没有逗号的输入,这会失败。
您可以使用正则表达式查找字符串中的最后一个逗号。 Php preg_replace()
通过正则表达式模式将字符串替换为另一个字符串。
$likes = 'Apple, Samsung, Microsoft';
$likes = preg_replace("/,([^,]+)$/", " and ", $likes)
检查结果 demo
只替换最后一次出现的,我认为更好的方法是:
$likes = 'Apple, Samsung, Microsoft';
$likes = substr_replace($likes, ' and', strrpos($likes, ','), 1);
strrpos 找到最后一个逗号的位置,并且 substr_replace 将所需的字符串放在该位置以替换本例中的 '1' 个字符。
只需提供函数 strrchr()
$likes = 'Apple, Samsung, Microsoft';
$portion = strrchr($likes, ',');
$likes = str_replace($portion, (" and" . substr($portion, 1, -1)), $likes);
因为 strrchr()
会
This function returns the portion of string
所以我们只需要替换逗号就可以了。当您使用 strrchr()