我有多个随机字符串,我正试图将"SpottedBlanket"
拉出字符串。其中一些工作正常:
DarkBaySpottedBlanket --
DarkBay
BaySpottedBlanket --
Bay
但是其他人正在削减更多的东西。
RedRoanSpottedBlanket --
RedR
BlackSpottedBlanket --
Blac
DunSpottedBlanket --
Du
这是我正在使用的代码,但我认为这是自我解释的:
$AppyShortcut = chop($AppyColor,"SpottedBlanket");
$AppyColor
显然是随机生成的字符串。任何线索为什么会发生这种情况?
答案 0 :(得分:0)
chop
函数接受第二个参数中的字符串 - 在本例中为"SpottedBlanket"
,并删除它从右侧找到的任何连续字符。
因此,对于"RedRoanSpottedBlanket"
的情况,您将返回"RedR"
,因为"o"
,"a"
和"n"
是可以在字符串"SpottedBlanket"
。
chop()
通常用于删除尾随空格 - 在对其执行某些操作之前清除用户输入的方法。
给你的阵列:
$strings = ["DarkBaySpottedBlanket", "RedRoanSpottedBlanket", "BlackSpottedBlanket", "DunSpottedBlanket"];
你可能正在寻找的是这样的事情:
foreach ($strings as $string) {
print substr($string, 0, strrpos($string, "SpottedBlanket")) . "\n";
}
使用strrpos()
从末尾查找字符串的位置,然后使用substr()
将字符串的开头返回到该位置。