我已经看到了一些在特定字符后删除字符的结果 - 我的问题是如何用字符串执行此操作?
基本上,这适用于任何给定的数据字符串,但我们需要一个URL: stackoverflow.com/question
使用给定的字符串,在JS中,我想删除“.com”之后的所有内容,将“.com”分配给变量,并将“.com”之前的文本分配给单独的变量。
所以,最终结果:var x = "stackoverlow" var y = ".com"
到目前为止我做了什么: 1)使用split,substring等组合我可以删除它们,但不能删除部分“.com”字符串。我很确定我能用subtring和split做我想做的事情,我想我只是错误地实现了它。 2)我正在使用indexOf在完整字符串
中找到字符串“.com”任何提示?我没有发布我的实际代码,因为它已经变得如此混乱,我已经尝试了所有不同的东西(如果有必要,我可以继续这样做)。
谢谢!
答案 0 :(得分:1)
使用正则表达式。
"stackoverflow.com".match(/(.+)(\.com)/)
结果
["stackoverflow.com", "stackoverflow", ".com"]
(为什么要将.com
分配给变量?
答案 1 :(得分:1)
你应该真正研究正则表达式。
以下是一些可以获得您要做的事情的代码:
var s = 'stackoverflow.com/question';
var re = /(.+)(\.com)(.+)/;
var result = s.match(re);
if (result && result.length >= 3) {
var x = result[1], //"stackoverlow"
y = result[2]; //".com"
console.log('x: ' + x);
console.log('y: ' + y);
}
答案 2 :(得分:0)
"stackoverflow.com".split(/\b(?=\.)/)
=> ["stackoverflow", ".com"]
或者,
"stackoverflow.com/question".split(/\b(?=\.)|(?=\/)/)
=> ["stackoverflow", ".com", "/question"]