Memoc
Memoc

Reputation: 303

Cut string url in javascript

I have a string like below

var indicator = -65(www.anyweb.com)

the number -65 can be any number too. How can I take out only the web url separately in javascript?

Upvotes: 1

Views: 1351

Answers (5)

Mayur Kothari
Mayur Kothari

Reputation: 21

You can use this example for string operations




var data = "-65(www.anyweb.com)";
var url = data.slice(data.indexOf('(')+1 ,data.indexOf(')'));    console.log("URL :: ",url);

Upvotes: 1

Mayur Kothari
Mayur Kothari

Reputation: 21

Example 1 : 
var data = "-65(www.anyweb.com)";

if(data.indexOf('(')!=-1){
var url = data.slice(data.indexOf('(')+1 ,data.indexOf(')'));
} 
console.log("URL :: ",url);

Example 2 : 
var data = "-65";

if(data.indexOf('(')!=-1){
var url = data.slice(data.indexOf('(')+1 ,data.indexOf(')'));
} 
console.log("URL :: ",url);

Example 3 : 
var data = "-65(www.anyweb.com)6764872";

if(data.indexOf('(')!=-1){
var url = data.slice(data.indexOf('(')+1 ,data.indexOf(')'));
} 
console.log("URL :: ",url);

Upvotes: 0

Sverri M. Olsen
Sverri M. Olsen

Reputation: 13283

You can use some simple string operations:

var str = "-65(www.anyweb.com)";
var url = "N/A";

// Find indices of open and close parentheses
var open  = str.indexOf("(");
var close = str.lastIndexOf(")");

// If they were found then extract the URL from the string
if (open !== -1 && close !== -1) {
    url = str.substring(open + 1, close);
}
console.log(url);

If you are more inclined to use regular expressions then this should do it:

var str = "-65(www.anyweb.com)";
var regex = /\((.*?)\)/; // Capture URL inside parentheses
var result = regex.exec(str); // Execute the regex against the string
var url = "N/A";

// If the URL was matched then assign it to the variable
if (result[1] !== undefined) {
  url = result[1];
}
console.log(url);

You can also simply replace the stuff that you do not want:

var str = "-65(www.anyweb.com)";
str = str.replace(/^.*\(/, ""); // Remove everything before URL
str = str.replace(/\).*$/, "");  // Remove everything after URL
console.log(str);

Upvotes: 0

user6202450
user6202450

Reputation:

You need to extract the string after '(' and before ')'

var str = "-65(www.anyweb.com)";
str = str.substring(str.lastIndexOf("(")+1,str.lastIndexOf(")"));

Upvotes: 2

Pedro Lobito
Pedro Lobito

Reputation: 99071

var domain = /\((.*?)\)/.exec("-65(www.anyweb.com)")[1];
console.log(domain);


The regex above will create a group with anything that's inside parenthesis.

Upvotes: 0

Related Questions