Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 要删除最后一个+;从字符串签名_Javascript_Regex - Fatal编程技术网

Javascript 要删除最后一个+;从字符串签名

Javascript 要删除最后一个+;从字符串签名,javascript,regex,Javascript,Regex,我正在尝试使用jQuery生成一个链接,需要修剪结尾处的最后一个“+”符号。是否有一种方法可以检测是否有一个,然后将其修剪掉 到目前为止,代码删除了单词“hotel”并将空格替换为“+”,我想我只需要将“+”替换为另一个,它有时会出现,但不确定如何对它进行超级具体化 var nameSearch = name.replace("Hotel", ""); nameSearch = nameSearch.replace(/ /g, "+")

我正在尝试使用jQuery生成一个链接,需要修剪结尾处的最后一个“+”符号。是否有一种方法可以检测是否有一个,然后将其修剪掉

到目前为止,代码删除了单词“hotel”并将空格替换为“+”,我想我只需要将“+”替换为另一个,它有时会出现,但不确定如何对它进行超级具体化

var nameSearch = name.replace("Hotel", "");
nameSearch = nameSearch.replace(/ /g, "+");
答案

从字符串中删除最后一个+符号的正则表达式是什么

这是吗

const str=“酒店+”
常数re=/\+$/;//删除最后一个加号(如果存在)。$是“字符串结尾”

console.log(str.replace(re,“”)
作为mplungjan答案的替代,您可以使用
str.endsWith()
进行检查。如果它在
+
上结束,它将被切断。不需要正则表达式。如果你能避免正则表达式,你绝对应该这样做

let str=“Hotel+”;
if(str.endsWith(“+”)){
str=str.substr(0,str.length-1);
}
console.log(str)下面的代码段将从字符串中删除所有现有的+符号。
let str='abcd+efg+hij';
str=str.replace(/\+/gm',);
//输出:abcd efg hij
对于trim,请使用下面的代码段。它将删除字符串周围的空格。
let str=“你好,世界!!”
str=str.trim();
//输出:你好,世界!!
如果只想替换最后一个+符号。
let str='abcd+efg+hij';
设lastIndex=str.lastIndexOf(+);
如果(lastIndex>-1){
让nextString=str.split(“”);
下一个字符串拼接(lastIndex,1');
str=nextString.join(“”);
}
//输出:abcd+efg hij

为什么要避免正则表达式?我的示例一次检测并删除statement@mplungjan因为如果你想实现新功能,正则表达式的速度很慢,语法也很难扩展。如果你能使用内置函数,比如
endsWith
,它的查找速度会比正则表达式快得多。在这种情况下,我将捍卫我的代码是解决这个特定问题的最实用的解决方案。@mplungjan Ikr。我已经说过多次了速度是最不需要担心的-如果正则表达式变得更复杂或有副作用,您必须重新编写整个功能。所以你可以从一开始就做。我不得不在工作中多次这样做。代码的可维护性和可伸缩性非常重要。这才是真正的痛点。正如我所说,这是另一种选择。我回答了标题。但是用例是什么呢。为什么你有你需要摆脱的空间,为什么它们会出现?你能解释一下实际情况吗?
name
的内容是什么?链接应该是什么样子