gpt4 book ai didi

javascript - 使用正则表达式将 URL 中的和号 (&) 和空格转换为破折号 (-)

转载 作者:行者123 更新时间:2023-11-29 17:56:43 24 4
gpt4 key购买 nike

使用下面的代码,我将以下名称转换为 URL,例如

  • Love & Relationshipshttp://domain.org/love-relationships
  • Career & Guidancehttp://domain.org/career-guidance

    filter('ampToDash', function(){
    return function(text){
    return text ? String(text).replace(/ & /g,'-'): '';
    };
    }).filter('dashToAmp', function(){
    return function(text){
    return text ? String(text).replace(/-/g,' & '): '';
    };
    })

但是,我有一组新名称,但我不知道如何同时使用这两个名称。

  • Being Humanhttp://domain.org/being-human
  • 竞争性考试http://domain.org/competitive-exams

    filter('ampToDash', function(){
    return function(text){
    return text ? String(text).replace(/ /g,'-'): '';
    };
    }).filter('dashToAmp', function(){
    return function(text){
    return text ? String(text).replace(/-/g,' '): '';
    };
    })

我如何组合这两个正则表达式代码以便它们可以协同工作?

最佳答案

您可能还想扩展替换标准以涵盖所有“非单词”字符,而不是只考虑您当前知道的字符(& 和空格)。这将更具前瞻性,并且可能更容易推理:

String(text).replace(/\W+/g, '-')

(\W+ 表示任何非单词字符序列。)

例子:

'Jack & Jill went up the @$%#! hill'.replace(/\W+/g, '-')

产量:

Jack-Jill-went-up-the-hill

并且由于存在信息丢失(即,通过查看转换后的字符串,您不知道究竟是什么导致了“-”),找到原始字符串的一种方法是简单地存储它并通过转换后的字符串。详细说明:您可能会从这个新字符串中查找一些文档(正如其他人指出的那样,是一个“slug”)。将 slug 与文档一起存储,只需从数据库中查找文档(及其原始标题)即可。

关于javascript - 使用正则表达式将 URL 中的和号 (&) 和空格转换为破折号 (-),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38460290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com