我试图删除字符串中某个单词后面的字符。
www.google.com/Server/someOtherStuffIDontWant
到目前为止,我已经想出了这个:
str = str.substring(0, str.indexOf("Server/")) + "Server/";
这是最好的方法吗?
答案 0 :(得分:1)
我喜欢正则表达式来完成这项任务(但这是一个非常以opion为导向的答案,说实话):
str = str.replace(/Server\/.*/, 'Server')
答案 1 :(得分:0)
另一种不错的方式和如果......仅在的情况下
你希望在/
字符的最后一次出现之前获得所有内容:
str.substring(0, str.lastIndexOf("/"))
" www.google.com/Server"
str.substring(0, str.lastIndexOf("/")+1)
" www.google.com/Server /"
表示如果您有以下网址:
www.google.com/Server/Home/User/someOtherStuffIDontWant
" www.google.com/Server/Home/User"
答案 2 :(得分:0)
这将提取你想要的东西。
str.match(/.*\/Server/)[0];
它匹配/server
之后的任意数量的任何字符。
str.match()
捕获匹配序列的数组。在你的情况下,它只是你想要的第一个。
答案 3 :(得分:-1)
这是一种方式。如果您正在进行子串路由,您可以一次性获得所需的确切子字符串,如下所示:
str = str.substring(0, str.indexOf("Server/") + 7);
或者,更一般地说:
var searchTerm = "Server/";
str = str.substring(0, str.indexOf(searchTerm) + searchTerm.length);
或者您可以使用正则表达式:
str = str.replace(/Server\/.*$/, "Server/");