I'm posting this question for a friend who works in javascript. In this type of string:
string <- '<p><strong><kE id="a2252996-46e5-4d41-a1a5-1443906a51b7">Schema: Berechnung des Funktionswerts</KE></strong></p>
<p>Wenn nach den Werten einer Funktion für bestimmte x-Werte gefragt ist, sollst du die zugehörigen y-Werte berechnen.</p>
<p>(Schritt 1) Setze für jedes x in der Funktion den gegebenen x-Wert ein. Berechne daraus den gesuchten y-Wert.</p>'
he wants to do the same in javascript that this R code does:
library(stringr)
str_c("[' ", str_extract(string, '(?i)(?<=<)KE id="[\\w-] "(?=>)'), " ']")
[1] "[' kE id=\"a2252996-46e5-4d41-a1a5-1443906a51b7\" ']"
Any hints at how the same extraction is achieved in javascript?
CodePudding user response:
As @The fourth bird pointed out, you can use the capture group <(kE id="[\w-] ")>
instead of the one that you listed.
var string = '<p><strong><kE id="a2252996-46e5-4d41-a1a5-1443906a51b7">Schema: Berechnung des Funktionswerts</KE></strong></p>'
'<p>Wenn nach den Werten einer Funktion für bestimmte x-Werte gefragt ist, sollst du die zugehörigen y-Werte berechnen.</p>'
'<p>(Schritt 1) Setze für jedes x in der Funktion den gegebenen x-Wert ein. Berechne daraus den gesuchten y-Wert.</p>'
var extract = string.match(/<(kE id="[\w-] ")>/)[0]
.replace("<","[' ")
.replace(">"," ']")
.replaceAll('"', '\\"')
console.log(extract)
//Output: [' kE id=\"a2252996-46e5-4d41-a1a5-1443906a51b7\" ']