2016-07-21 12 views
0

をトリミングからHtml.fromHtmlを防ぐためにどのように、私は(どちらかの側で空白の様々な量とが)このような文字列を持っている:AndroidのJavaプロジェクトでは空白

String foo = " foo bar " 

両側の空白実際の文字列には、HTML構文のハイライトを含むインデントされたコードが含まれているため、文字列の重要性が重要です。

私はHtml.fromHtmlて文字列を渡す

は、この開始と終了の空白は削除されますが、私はそこに空白を維持する必要があります。

Html.fromHtml(foo).toString() // "foo bar" - I want " foo bar " 

私が通じた文字列の両側に空白を保持することができますどのようにHtml.fromHtmlコール?  として多くを繰り返しますHtml.fromHtml()として

答えて

0

空白を開始し維持するために、このKotlinコードが動作するように表示され、おそらくどちらかの空白を終了して作業するために適応することは困難ではないでしょう。

fun replaceWithNonBreakingAtStart(str: String) = (1..(str.takeWhile { it == ' ' }.count())).map { " " }.joinToString("") + str.trimStart() 
0

あなたは

String foo = " foo bar  "; 

ノート 

があなたのコードでこれを試しているスペースのためにエンコードされた文字を使用したいかもしれhtmlタグやコンテンツなどの文字列を解析し、スペースが必要です。

編集: あなたはどこか別の場所からあなたの文字列を取得している場合、あなたは

String foo = getMyFoo(); 
foo = foo.replaceAll(" "," "); 
+0

私は本当にこれを行うことはできません - 文字列は動的です生成された私の 'foo'は単なる例に過ぎませんでした。とにかくおかげで。 –

+0

@ OrangeFlash81あなたは 'replaceAll()'を使うことができます、私の編集を確認してください – Yazan

1

それを渡す前 とスペースを置き換えることができTextUtils.htmlEncode(STR)を使用してみてください。

このメソッドは、すべてのhtml文字列の文字をエスケープします。あなたは文字列が動的に生成されていることを言ったので、

https://developer.android.com/reference/android/text/TextUtils.html#htmlEncode(java.lang.String)

+0

これは価値があるようです - できる限り試してみます。ありがとう! –

+0

これは動作していないようです - スペースだけをスペースとして保持します。しかし、ありがとう。 –

+0

も、その後、 'FOO = foo.replaceAll( " ""  ")をしてみてください;' あなたはすべての空白を交換したい場合は、これは確かに  にスペースを置き換え(スペースとタブを含める) 'FOO = foo.replaceAllを試してみてください実際の文字列にはレンダリングが必要なHTMLが含まれている可能性があるので、 '' '

0

Yazanの提案は、あなたが常に例えば、新たに生成された文字列sを取り、(CONCAT()method.For例s.concatを使用することができ、十分であったが、 "  & nbsp");

関連する問題