मैं प्रत्येक न्यूलाइन पर 3 अक्षर ट्रिम करना चाहता हूं। लेकिन जब मैं विभाजित करता हूं तो यह केवल पहली पंक्ति को विभाजित करता है दूसरी नई लाइन पहले ही चली जाती है। कृप्या सहायता करे। धन्यवाद।

यह कोड है:

var mytext = '(1x) test0, (2x) test1, (3x) test2';

var formattedString = mytext.replace(/,/g, '\n');

console.log("FORMATTED STRING", formattedString)

const output = formattedString
    .split('', 4)
    .reduce((o, c) => (o.length === 4 ? `${o}${c}` : `${o}${c}`), '')

console.log("SPLIT", output)

यहां कोड तक पहुंच सकते हैं:

https://jsfiddle.net/mqnkx2uc/14/

मुझे इस तरह का आउटपुट चाहिए: "(1x) \n (2x) \n (3x)"

0
TechDev 15 पद 2020, 07:22

1 उत्तर

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

मैं एक ) से मिलान करके शुरू करने के लिए एक रेगेक्स का उपयोग करता हूं, फिर गैर- ( वर्णों से मेल खाता हूं, और )\n से प्रतिस्थापित करता हूं:

var mytext = '(1x) test0, (2x) test1, (3x) test2';
console.log(
  mytext.replace(
    /\)[^\(]+/g,
    ')\n'
  )
  .trim()
);
2
CertainPerformance 15 पद 2020, 07:24
1
इनपुट स्ट्रिंग के प्रारूप पर निर्भर करता है, शायद .match(/\w+(?=,|$)/g).join('\n')
 – 
CertainPerformance
15 पद 2020, 08:30
1
यह उस आउटपुट का उत्पादन करता है जो आप टिप्पणी में चाहते हैं, इसलिए निश्चित रूप से, यदि आप चाहें तो इसका उपयोग कर सकते हैं
 – 
CertainPerformance
15 पद 2020, 08:32
1
बस इसे किसी चीज़ को असाइन करें? const someNewVar = ...
 – 
CertainPerformance
15 पद 2020, 08:36
1
हां, नए चर में वास्तव में उन कोष्ठकों के बिना पाठ होगा
 – 
CertainPerformance
15 पद 2020, 08:38