Angenommen, wir die folgende Zeichenfolge haben:Extract Rotationswerte von String
var foo = "rotateX(10deg) rotateY(20deg) rotateZ(30deg) scale(1,3) skewX(90deg,0deg)"
Wie können wir nur die rotate
Werte extrahieren (hier sind 10,20,30)?
Angenommen, wir die folgende Zeichenfolge haben:Extract Rotationswerte von String
var foo = "rotateX(10deg) rotateY(20deg) rotateZ(30deg) scale(1,3) skewX(90deg,0deg)"
Wie können wir nur die rotate
Werte extrahieren (hier sind 10,20,30)?
"Immer in die Frage einbeziehen, was Sie versucht haben."
Ergebnis wird ein Array von Strings sein. Sie können in Zahlen konvertieren, wenn Sie möchten.
Wenn rotateX
, rotateY
und rotateZ
um angezeigt werden, können Sie dies versuchen,
var arr=[];
foo.split(" ").forEach((s)=>{
if(s.indexOf("rotate")>=0){
arr.push(s.match(/\d/g).join(''));
}
});
Wenn Auftrag von rotateX
, rotateY
und rotateZ
zufällig ist. Dann können Sie dies versuchen,
var arr=[null, null, null];
foo.split(" ").forEach((s)=>{
if(s.indexOf("rotateX")>=0){
arr[0] = s.match(/\d/g).join('');
} else if(s.indexOf("rotateY")>=0){
arr[1] = s.match(/\d/g).join('');
} else if(s.indexOf("rotateZ")>=0){
arr[2] = s.match(/\d/g).join('');
}
});
Vermutlich könnten X, Y und Z in jeder Position sein. – canon
@canon du meinst in der Mitte des Wortes "drehen"? – nrgwsth
Vermutlich können 'rotateX',' rotateY' und 'rotateZ' in der Eingabezeichenfolge in beliebiger Reihenfolge angegeben werden. Wenn das der Fall ist, haben Sie keine Ahnung, was jeder Ihrer Rückgabewerte _means_ ist, weil Sie keinen Kontext für sie behalten. – canon
welche Anstrengung haben Sie unternommen? –