Strlen 删除每 [x] 个字符
我正在尝试删除下面的每三个字符(在示例中为句点),这是我最好的猜测,并且与我得到的接近,但我错过了一些东西,可能很小。另外,这个方法(如果我能让它工作)会比正则表达式匹配、删除更好吗?
$arr = 'Ha.pp.yB.ir.th.da.y';
$strip = '';
for ($i = 1; $i < strlen($arr); $i += 2) {
$arr[$i] = $strip;
}
I'm trying strip every third character (in the example a period) below is my best guess and is close as ive gotten but im missing something, probably minor. Also would this method (if i could get it working) be better than a regex match, remove?
$arr = 'Ha.pp.yB.ir.th.da.y';
$strip = '';
for ($i = 1; $i < strlen($arr); $i += 2) {
$arr[$i] = $strip;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以做到这一点的一种方法是:
或者,如果您要删除的字母始终是相同的,则explode()函数可能会起作用。
One way you can do it is:
Alternatively the explode() function might work, if the letter you're trying to remove is always the same one.
这可能有效:
为了使其通用:
在此上下文中,
2
表示您保留两个字符,然后丢弃下一个字符。This might work:
To make it general purpose:
where
2
in this context means you are keeping two characters, then discarding the next.一种方法:
或者,使用正则表达式:
A way of doing it:
Or, with a regular expression:
我只使用 array_map 和回调函数。它看起来大致是这样的:
I'd just use array_map and a callback function. It'd look roughly like this: