首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在字符串中对斜线和它们之间的数字内容进行剥离

如何在字符串中对斜线和它们之间的数字内容进行剥离
EN

Stack Overflow用户
提问于 2017-09-08 02:02:43
回答 3查看 1.1K关注 0票数 3

考虑以下字符串:

代码语言:javascript
复制
/0123456789/abcdefg

我需要删除两个斜杠之间的所有数字,以及删除斜杠,也。我知道preg_replace,但从未使用过这个函数(这是PHP的新手)。我该如何做出正确的判断呢?提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-08 02:16:27

没有preg_replace()的最简单的方法:-

代码语言:javascript
复制
<?php

$url = "/0123456789/abcdefg";
echo $words = substr($url, strrpos($url, '/') + 1);

https://eval.in/857562

注意:- 斯特拉波斯获取斜杠最后一次出现的位置;底座在该位置之后返回所有内容。

斯特拉波斯函数从0开始计算给定字符的位置,这就是为什么要添加+1来获取子字符串的实际位置。

票数 1
EN

Stack Overflow用户

发布于 2017-09-08 03:17:49

尝尝这个

代码语言:javascript
复制
<?php
$keep = "abcdefg";
$str = "/0123456789/";
echo chop($keep,$str);
?>

chop函数接受字符串并从其中移除某个值。第一个参数$keep是您希望在函数中保留第二个参数$str的参数,是您想要删除的参数。我希望这能帮到你

票数 1
EN

Stack Overflow用户

发布于 2017-09-08 18:32:03

OP的问题涉及一个正则表达式(regex),用于preg_replace()来解决这个问题。下面是操作步骤:

代码语言:javascript
复制
<?php

$url = "/0123456789/abcdefg";

$regex= "~/\d+/~";

$replace = "";

echo preg_replace( $regex, $replace,$url );

请参阅现场代码。

请注意,regex由一个正斜杠组成,后面是一个或多个数字,后面是另一个正斜杠。分隔符本身使用字符"~“。如果它们是由斜杠组成的,那么也只有这样,人们才需要逃避正切斜杠。

顺便说一句,您还可以使用preg_split()实现所需的输出,如下所示:

代码语言:javascript
复制
<?php

$url = "/0123456789/abcdefg";
list(,, $strData) = preg_split("~/~",$url );
echo $strData;

请参阅活码

在此解决方案中,当存在正斜杠时,url字符串被拆分为一个列表,该列表在捕获字母字符串时忽略无关的数据。

更好的解决方案需要使用same (),这样字符串包含的正斜杠就可能更少、更多或相同。如果字符串以字母结尾,则可以编写如下代码:

代码语言:javascript
复制
   <?php

    $url = "/0123456789/abcdefg";
    $arrData = explode("/", $url );
    $dex = count($arrData) - 1;
    echo $arrData[ $dex ];

请参阅活码

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46107555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档