Split string with commas to new line

别来无恙 提交于 2020-04-07 16:50:31

问题


I have a string like

This is great day, tomorrow is a better day, the day after is a better day, the day after the day after that is the greatest day

I wanted to basically split this one long string at the commas and insert a new line so it becomes

This is great day
tomorrow is a better day
the day after is a better day
the day after the day after that is the greatest day

How can I do that ?


回答1:


With the built in split and join methods

var formattedString = yourString.split(",").join("\n")

If you'd like the newlines to be HTML line breaks that would be

var formattedString = yourString.split(",").join("<br />")

This makes the most sense to me since you're splitting it into lines and then joining them with the newline character.

Although I think speed is less important than readability in most cases, I was curious about it in this case so I've written a quick a benchmark.

It seems that (in chrome) using str.split(",").join("\n") is faster than str.replace(/,/g, '\n'); .




回答2:


You could also replace them:

string.replace(/,/g, '\n');



回答3:


<p id="errorMessage">Click | the |button |to |display| the| array| values| 
after| the| split.</p>

$(document).ready(function () {
var str = $("#errorMessage").text();
document.getElementById("errorMessage").innerHTML=str.split("|").join(" 
</br>"); }



回答4:


> a = 'This is great day, tomorrow is a better day, the day after is a better day, the day after the day after that is the greatest day'
> b = a.split(', ').join('\n')

"This is great day
tomorrow is a better day
the day after is a better day
the day after the day after that is the greatest day"



回答5:


You can use .split() to create an array of all the parts of the string...

var str = 'This is great day, tomorrow is a better day, the day after is a better day, the day after the day after that is the greatest day';

str.split(',');
  -> ["This is great day", " tomorrow is a better day", " the day after is a better day", " the day after the day after that is the greatest day"]

Now, you can do whatever you want with the different parts. Since you want to join with a new line, you can use .join() to put it back together...

str.split(',').join('\n');
  -> "This is great day
      tomorrow is a better day
      the day after is a better day
      the day after the day after that is the greatest day"



回答6:


Without testing on my browser try:

var MyStr="This is great day, tomorrow is a better day, the day after is a better day, the day after the day after that is the greatest day";
Var splitedStr = MyStr.split(",");

var returnStr = '';
for (var i = 0; i < splitedStr.length; i++)
{
    returnStr += splitedStr[i] + '<br />';
}

document.write(returnStr);


来源:https://stackoverflow.com/questions/15375886/split-string-with-commas-to-new-line

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!