最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

javascript - Remove line breaksspaces from array - Stack Overflow

matteradmin5PV0评论

I am having trouble removing line breaks from my text in javascript. Here is an example of the data I am working with:

0: "Christian Pulisic"
1: "↵"
2: "From Wikipedia, the free encyclopedia"
3: "↵" 
4: "Christian Pulisic"
5: "↵"
6: "Personal information"
7: "↵"
8: "Full name   Christian Mate Pulisic[1]"

Obviously, the line spaces/breaks or whatever you call them, are polluting the data I am getting.

I cannot get the following function to recognize the line breaks and replace it with a "" which I then can very easily remove from the array through another function I run my data through.

This is the code I am currently using that is not working:

for (i in cleanArray){
    cleanArray[i].replace(/(\r\n|\n|\r)/gm,"")
};

console.log(cleanArray);

I am having trouble removing line breaks from my text in javascript. Here is an example of the data I am working with:

0: "Christian Pulisic"
1: "↵"
2: "From Wikipedia, the free encyclopedia"
3: "↵" 
4: "Christian Pulisic"
5: "↵"
6: "Personal information"
7: "↵"
8: "Full name   Christian Mate Pulisic[1]"

Obviously, the line spaces/breaks or whatever you call them, are polluting the data I am getting.

I cannot get the following function to recognize the line breaks and replace it with a "" which I then can very easily remove from the array through another function I run my data through.

This is the code I am currently using that is not working:

for (i in cleanArray){
    cleanArray[i].replace(/(\r\n|\n|\r)/gm,"")
};

console.log(cleanArray);
Share Improve this question asked Feb 8, 2016 at 3:12 LanceLance 1233 silver badges14 bronze badges 1
  • 1 The replace() method returns a new string, it doesn't change the original one. – nnnnnn Commented Feb 8, 2016 at 3:15
Add a ment  | 

2 Answers 2

Reset to default 3

cleanArray[i].replace(/(\r\n|\n|\r)/gm,"") will return a new string. Furthermore, strings are immutable in JavaScript. Change it to

for(var i = 0; i < cleanArray.length; ++i)
    cleanArray[i] = cleanArray[i].replace(/(\r\n|\n|\r)/gm,"")

Assuming the characters shown as "↵" are actual newlines

Use Array#filter with String#trim

var newArr = arr.filter(el => el.trim());
Post a comment

comment list (0)

  1. No comments so far