En Node.js tengo una cadena como la siguiente, pero no sé cómo obtener la primera URL contenida dentro de esa cadena:
"
<p> You left when I believed you would stay. You left my side when i needed you the most</p>**<img src="https://cloud-image.domain-name.com/storage/images/2021/picture_01.png" />** <br/> <p>Today, I don't have any bad words for you. I just want to thank you</p> **<img src="https://cloud-image.domain-name.com/storage/images/2021/picture_02.jpg" />Quiero obtener un resultado:
https://cloud-image.domain-name.com/storage/images/2021/picture_01.pngEsta es una pequeña solución, sin embargo, puede escanear la cadena que obtiene
var matches = string.match(/\bhttps?:\/\/\S+/gi);
luego solo haga coincidencias [0], sin embargo, algunas cosas funcionan alrededor de esto, por lo que, alternativamente, podría usar una biblioteca como URL Knife si desea un método sólido con una biblioteca.
El método indexOf() devuelve el índice de la primera aparición. Puede obtener más información sobre los métodos de cadena en w3schools
const a = `<p> You left when I believed you would stay. You left my side when i needed you the most</p>**<img src="https://cloud-image.domain-name.com/storage/images/2021/picture_01.png" />** <br/> <p>Today, I don't have any bad words for you. I just want to thank you</p> **<img src="https://cloud-image.domain-name.com/storage/images/2021/picture_02.jpg" />` const start=a.indexOf("https") //To get the index of the first link. (Returns 104) const end=a.slice(start).indexOf('" />') //To get the end index of end link (Returns 70) a.slice(start,start+end) //Returns 'https://cloud-image.domain-name.com/storage/images/2021/picture_01.png'