2017-01-24 11 views
0

データベースから戻ってくる文字列が数多くあり、バックエンドの人がその文字列に挿入できる特定の単語に基づいて2行に分ける必要があります。 (単語やシンボルは何もすることができます。)特定の単語を改行で置き換えるJavaScriptの正規表現

は、私が試してみました次:

var str = "some string some string space some string"; 
    str = str.replace(/space/g, "\n") 
    console.log(str); 

はなく、文字列はまだ一つだけのライン上に表示されます。

... 

     var str = "some string some stringspacesome string"; 
     str = str.replace(/(?:\r\n|\r|\n)/g, '<br />'); 
     console.log(str); 
     var screenHeight = (this.state.windowHeight -90) + 'px'; 
     return (
      <div> 
       <Header /> 
       <section className={"main " + this.state.color_name} style={{minHeight: screenHeight}}> 
        <div className="content-wrapper"> 
         <div className="content" > 
         <h1>{str}</h1> 

... 

置換後、str変数がh1要素の内容として使用されます。

+0

これは私のマシンでテストするときに機能します。明らかに、文字列は文字通り「スペース」と言う必要があります。 – borbesaur

+0

私はそれ以降のデータの処理方法を知っておくことが重要だと思います。 Console.logはブラウザによって異なる場合があります。たぶん配列内の各行を分割するのは良い解決策でしょうか? –

+0

コンソールのスクリーンショットを提供してください。 –

答えて

1

文字列をHTMLタグのコンテンツとして使用する場合は、\nは2行に表示する適切な方法ではありません。むしろ、htmlの改行タグ<br/>を使用する必要があります。次のいずれかのように、あなたの文字列にそれを置き換えることができます:あなたが交換する「スペース」文字列は何もすることができることを述べたので、

str = str.replace(/space/g, "<br/>") 

または簡略化のため

、あなただけの完全な交換をスキップすることができように思えるし、バックエンドで必要なリプレースメントを使用してください。

+0

これは私が得るものです:sdfsfsd
sdgsgfgdf – Alex

+0

それは 'h1'に注入されたときに何をしたいのですか? –

+0

いいえ、間にbrを2行以上置く必要がありますが、brは提供されたソリューションの文字列と見なされます – Alex

関連する問題