我有这些字符串:
baseUrl = "http://www.example.com"
baseUrl = "https://secure.example-server.com:443"
有人可以告诉我如何从baseUrl中提取服务器信息,这样我就可以获得“example”和“example-server”
答案 0 :(得分:9)
您可以使用regex
:
baseUrl.match(/\.(.*?)\.co/i)[1];
正则表达式解释
答案 1 :(得分:2)
您可以使用split(“。”)在某些字符处拆分字符串; (见http://www.w3schools.com/jsref/jsref_split.asp) 然后,您可以将结果与预定义的单词进行比较。
或者你取结果的第二个元素,通常(?)就是你要找的东西。
答案 2 :(得分:1)
看看这个免费的图书馆:http://medialize.github.io/URI.js/。
答案 3 :(得分:1)
如果您只想在两个'.'
(或URL
中的域名)之间提取字符串,可以试试这个:
var firstDotPos = baseUrl.indexOf(".");
var secondDotPos = baseUrl.indexOf(".",firstDotPos);
var yourString = baseUrl.substring(firstDotPos + 1, 18);
console.log(yourString )
答案 4 :(得分:0)
您可以使用split()
将其拆分为一个数组,并使用slice()
提取所需的数组,如下所示:
baseUrl = "http://www.example.com"
baseUrl2 = "https://secure.example-server.com:443"
const base = baseUrl.split(".")
const base2 = baseUrl2.split(".")
console.log("Array1 :: ",base)
console.log("Array2 : ",base2)
console.log(base.slice(-2,-1))
console.log(base2.slice(-2,-1))
Array1 :: ["http://www","example","com"]
Array2 : ["https://secure","example-server","com:443"]
["example"]
["example-server"]