Chop() 砍的比要求的多
Chop() is chopping more than what is asked
我有多个随机字符串,我正在尝试从字符串中提取 "SpottedBlanket"
。其中一些工作正常:
DarkBaySpottedBlanket --
DarkBay
BaySpottedBlanket --
Bay
但其他人的削减超出了应有的范围。
RedRoanSpottedBlanket --
RedR
BlackSpottedBlanket --
Blac
DunSpottedBlanket --
Du
这是我正在使用的代码,但我认为它不言自明:
$AppyShortcut = chop($AppyColor,"SpottedBlanket");
$AppyColor
显然是随机生成的字符串。知道为什么会这样吗?
chop
函数采用第二个参数中的字符串 - 在本例中为 "SpottedBlanket"
,并删除它从右侧找到的所有连续字符。
所以对于 "RedRoanSpottedBlanket"
的情况,你会返回 "RedR"
因为 "o"
、"a"
和 "n"
是可以在字符串 "SpottedBlanket"
.
中找到
chop()
通常用于删除尾随白色 space - 一种在执行某些操作之前清理用户输入的方法。
给出你的数组:
$strings = ["DarkBaySpottedBlanket", "RedRoanSpottedBlanket", "BlackSpottedBlanket", "DunSpottedBlanket"];
您可能正在寻找的是这样的东西:
foreach ($strings as $string) {
print substr($string, 0, strrpos($string, "SpottedBlanket")) . "\n";
}
这会使用 strrpos()
从末尾找到字符串的位置,然后 returns 使用 substr()
.
从字符串的开头直到该位置
我有多个随机字符串,我正在尝试从字符串中提取 "SpottedBlanket"
。其中一些工作正常:
DarkBaySpottedBlanket --
DarkBay
BaySpottedBlanket --
Bay
但其他人的削减超出了应有的范围。
RedRoanSpottedBlanket --
RedR
BlackSpottedBlanket --
Blac
DunSpottedBlanket --
Du
这是我正在使用的代码,但我认为它不言自明:
$AppyShortcut = chop($AppyColor,"SpottedBlanket");
$AppyColor
显然是随机生成的字符串。知道为什么会这样吗?
chop
函数采用第二个参数中的字符串 - 在本例中为 "SpottedBlanket"
,并删除它从右侧找到的所有连续字符。
所以对于 "RedRoanSpottedBlanket"
的情况,你会返回 "RedR"
因为 "o"
、"a"
和 "n"
是可以在字符串 "SpottedBlanket"
.
chop()
通常用于删除尾随白色 space - 一种在执行某些操作之前清理用户输入的方法。
给出你的数组:
$strings = ["DarkBaySpottedBlanket", "RedRoanSpottedBlanket", "BlackSpottedBlanket", "DunSpottedBlanket"];
您可能正在寻找的是这样的东西:
foreach ($strings as $string) {
print substr($string, 0, strrpos($string, "SpottedBlanket")) . "\n";
}
这会使用 strrpos()
从末尾找到字符串的位置,然后 returns 使用 substr()
.