शब्द के अनुसार शीर्षकों को चेतन करने के लिए, मैं एक स्ट्रिंग को अंतरिक्ष से विभाजित करने की कोशिश कर रहा हूं, लेकिन सीएमएस मैं स्ट्रिंग के अंदर \n के रूप में रिटर्न लाइन ब्रेक का उपयोग करता हूं।

const text = "Aenean non odio erat.\n Suspendisse vestibulum vulputate nulla et mollis."

const splitText = (text) => {
    const words = text.split(' ')
    return words
}

console.log(splitText(text))

इस कोड का उपयोग करके, मुझे यह परिणाम मिलता है:

[
  "Aenean",
  "non",
  "odio",
  "erat.\n",
  ...
]

स्ट्रिंग को शब्द से कैसे विभाजित करें लेकिन शामिल रखें और नेत्रहीन दिखाएं (शायद CSS के साथ white-space: wrap; या pre-wrap का उपयोग करके) लाइन टूट जाती है?

0
flks 17 अप्रैल 2021, 12:36

2 जवाब

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

विचार पहले सफेद जगहों को "सामान्यीकृत" करना है, और फिर एक स्थान से विभाजित करना है, ताकि न्यूलाइन पूर्ववर्ती शब्द से "छड़ी" हो:

const text = "Aenean non odio erat.\nSuspendisse vestibulum \n \n \n    vulputate\n\nnulla et mollis."

const splitText = text => text
  .replace(/\\n/g, '\n')
  .replace(/\s+/g, m => m.includes('\n') ? '\n ' : ' ')
  .trim()
  .split(' ');


console.log(splitText(text))
1
georg 18 अप्रैल 2021, 09:53

कृपया पहले नई लाइन "\n" से विभाजित करें और फिर स्पेस " " से विभाजित करें। आपको सही उत्तर मिला। कृपया इस कोड स्निपेट को देखें।

const text = "Aenean non odio erat.\n Suspendisse vestibulum vulputate nulla et mollis."

const splitText = (text) => {
            const words= text.split('\n').join("").split(' ');

            return words;
        }
 
console.log(splitText(text)) 
0
Force Bolt 17 अप्रैल 2021, 10:24