मेरे पास एकाधिक अनुच्छेदों वाली एक HTML फ़ाइल है, प्रत्येक के पास एक शीर्ष और बायां टैग है जो px में है। मैं रेगेक्स का उपयोग करके इस संख्या को प्रतिशत में अनुवाद करने की कोशिश कर रहा हूं। मेरे पेज की चौड़ाई और ऊंचाई क्रमशः 500px और 1000px है। उदाहरण के लिए इस पाठ के लिए:

<p "position:absolute;left:200px;top:200px"></p>

मैं परिणाम होना चाहता हूँ:

<p "position:absolute;left:40%;top:20%"></p>
-1
Ali Haghighi 13 जिंदा 2019, 09:19

1 उत्तर

सबसे बढ़िया उत्तर

आप रेगेक्स के माध्यम से पैटर्न कैप्चर कर सकते हैं लेकिन उनके माध्यम से गणना नहीं कर सकते हैं।

आपके मामले में आप जैसे रेगेक्स का उपयोग कर सकते हैं

<p.*left:(\d{1,3})px;top:(\d{1,3}).*p>

यह रेगेक्स 2 मैचों को थूक देगा जो कैप्चर किए गए नंबर होंगे। अब आप उन्हें परिवर्तित कर सकते हैं और कैप्चर किए गए समूह संख्या का उपयोग करके प्रतिस्थापित कर सकते हैं।

या आप विधि को बदलने के लिए बस कॉलबैक का उपयोग कर सकते हैं

str = '<p "position:absolute;left:200px;top:200px"></p>';
pattern = /\d+/g;
function replacer(match) {
	match = (match/500)*100 + '%';
  return match;
}
str = str.replace(pattern, replacer);
str = str.replace(/px/g, '');
console.log(str);
0
YetAnotherBot 13 जिंदा 2019, 13:25