7

私は次のような文字列を持っています

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

基本的に、この1つの長い文字列をコンマで分割し、新しい行を挿入して、次のようになります。

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

どうやってやるの ?

4

7 に答える 7

32

組み込みのsplitおよびjoinメソッドを使用

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

改行をHTMLの改行にしたい場合は、

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

これは、行に分割してから改行文字で結合するため、私にとって最も理にかなっています。

ほとんどの場合、速度は読みやすさよりも重要ではないと思いますが、この場合は速度に興味があったので、簡単なベンチマークを作成しました。

(クロームで)使用する方が。str.split(",").join("\n")より速いようですstr.replace(/,/g, '\n');

于 2013-03-13T02:20:03.513 に答える
4

それらを置き換えることもできます:

string.replace(/,/g, '\n');
于 2013-03-13T02:21:26.170 に答える
0
> 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"
于 2013-03-13T02:21:54.573 に答える
0

.split()文字列のすべての部分の配列を作成するために使用できます...

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"]

今、あなたはさまざまな部分であなたがやりたいことを何でもすることができます。新しい行で結合したいので、.join()それを元に戻すために使用できます...

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"
于 2013-03-13T02:22:20.377 に答える
0

ブラウザでテストせずに、次のことを試してください。

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);
于 2013-03-13T02:23:51.367 に答える
0
TermsAndConditions = "Right to make changes to the agreement.,Copyright and intellectual property.,Governing law.,Warrantaay disclaimer.,Limitation of liability."
const TAndCList = this.invoiceTermsAndConditions.split(",").join("\n \n• ");

出力:

• Right to make changes to the agreement.
• Copyright and intellectual property.
• Governing law.
• Warrantaay disclaimer.
• Limitation of liability.
于 2021-08-04T07:12:29.443 に答える