2016-04-21 13 views
5

は、ここでコンソールにデータを渡すと私のコードを出力します。非終端文字列はJavaScriptで

は、私は、これはJavaScriptで新しい行を壊すの問題であることを理解し、私は\を使用する必要があるが、これは以下のように動的なデータである:

var b = '<xsl:value-of select="./description"/>'; <--- the output above gets assigned here 

だから、どのように私はこの問題を解決するのですか? アプリケーションはログにこのテキストを出力していません。その空白が表示されます\n\に置き換えてください。

解決策が不明です。

答えて

1

簡単な解決法は、改行をエスケープすることです。 \nは文字列リテラル形式にしておきます。例を挙げましょう

...

あなたはリテラル改行である「\ n」を、持っています。 "\ n"を取得したいので、最初のスラッシュが2番目のスラッシュをエスケープします。

「\ n」は1文字のみであるため、「\」を「\」(または「\」を「\\」と置き換えて正しいエスケープに従うことはできません)に置き換えることはできません。 。あなたが望む

は、単にこれはあなたの文字列の正規表現置換を行い

yourstring.replace(/\n/g, "\\n"); 

である(最初の引数は、私が「G」フラグを使用するために検索するパターンです - グローバル - すべての改行があるように、最初のものだけでなく、置き換えられた)。 2番目の引数は置換文字です - この場合は文字列リテラルですが、一致したパターンに基づいて値を生成する必要がある場合は、関数を使用できます。

0

\n\\\nに置き換えることができます。最初の2つの\は、単一のバックスラッシュが出力の一部になるという結果になります。最後に\nが改行されます。あなたはその後、\\n\nを置き換えるアプリケーションで実際の改行を使用する必要がある場合

console.log('\ 
FUN, FRIENDLY, * New PRIVATE PARTY ROOM with stage, 70" Satellite TV, comfortable lounge seating\ 
Exciting Bachelor Parties, Unique Surprise Birthday Parties, Divorce, Retirement....You Own IT!\ 
Party includes: 90 Minutes Open Bar, Dedicated Waitress, complimentary Dance of choice for the guest of honor, '.trim()); 

あなたのコードの出力は次のようになります。出力は

console.log('\nFUN, FRIENDLY, * New PRIVATE PARTY ROOM with stage, 70" Satellite TV, comfortable lounge seating\nExciting Bachelor Parties, Unique Surprise Birthday Parties, Divorce, Retirement....You Own IT!\nParty includes: 90 Minutes Open Bar, Dedicated Waitress, complimentary Dance of choice for the guest of honor, '.trim()); 
です
関連する問題