查找并删除撇号和之前的一个字母?

Posted

技术标签:

【中文标题】查找并删除撇号和之前的一个字母?【英文标题】:Find and remove apostrophe and one letter before? 【发布时间】:2020-05-04 05:26:54 【问题描述】:

目标是清理字符串并删除对用户和 SEO 不重要的元素,即在我的例子中(撇号前的字母)。我主要想要一个解决方案或一个正则表达式的解释,它可以在 php 中做到这一点,但在 JS 中逻辑没有什么不同。

字符串:.../mode-d'emploi/...

变成:

网址:/mode-emploi/slug-34

也许有人可以帮助我。

【问题讨论】:

考虑查看String.prototype.replace 和正则表达式。 使用 javascript 还是 PHP? 【参考方案1】:

您可以使用撇号进行拆分,然后删除第一个拆分字符串的最后一个字符,以便模拟撇号之前的字符的删除:

var url = "/mode-d'emploi/slug-34";

var resArray = url.split("\'");
resArray[0] = resArray[0].substring(0, resArray[0].length - 1);
var res = resArray.join('');
console.log(res);

【讨论】:

【参考方案2】:

这会删除撇号和撇号之前的任何字符。

var url = "/mode-d'emploi/slug-34";
res = url.replace(/.'/, '');
console.log(res);

如果您只想删除一个字母,请使用:

var url = "/mode-d'emploi/slug-34";
res = url.replace(/[a-z]'/i, '');
console.log(res);

【讨论】:

以上是关于查找并删除撇号和之前的一个字母?的主要内容,如果未能解决你的问题,请参考以下文章

R 正则表达式替换除句子标记、撇号和连字符以外的所有标点符号

当应用程序名称包含撇号和空格时符号化崩溃日志(已部署的应用程序)

带撇号的字母消失了[重复]

替换 bq SQL 中的撇号或引号

bash中双引号单引号反撇号的用法

如何删除带有符号的文件(特别是撇号)