0

私は現在、可能なすべての行区切り文字を何度でも繰り返すことができる単一のプロパティを持つプロパティファイルから読み込もうとしています。

green.color.poem=Green is .... the color of spring.\r\nGreen is .... renewal.\n\nGreen is .... the color of envy.\r\n\r\nGreen is .... a new crayon.\\r\\nGreen tastes like .... a crisp apple.\\r\\n\\r\\nGreen smells like .... fresh cut grass.<br>Green sounds like .... a croaking frog.</p><p>Green feels like .... soft, velvety moss.\n\nGreen looks like .... shiny emeralds.\r\n\\r\\nGreen makes me .... go.\n\nGreen is .... my favorite color.

上に見られるように、プロパティ値には \r、\n、\\r、\\n、< br> および </ p> < p> が含まれており、任意の回数繰り返される行セパレータとして...行セパレーターに基づいてこのプロパティ値を (文字列配列に) 分割し、最初の配列要素が「緑は .... 春の色」を保持し、2 番目の要素が「緑は .... 更新」を保持するようにします。 .」など。\r と \n の文字を理解し、それに応じて値を分割できる Java Properties クラスを使用してみましたが、\\r、\\n、< br>、および </ p> < p> の文字を尊重しません。\r、\n、\\r、および \\n を同じ方法で処理するようにプログラムを強制するにはどうすればよいでしょうか??

4

3 に答える 3

0

を使用してプロパティ値を読み取りますProperties

次にreplaceAll()、削除するすべてのタイプの区切り文字に対して実行します。次に、それらを単一の区切り記号に置き換えます。

replaceAll("\r\n", "|");
replaceAll("\n\n", "|");
replaceAll("\r\n\r\n", "|");

...

次にsplit()、に基づく文字列"|"

于 2013-10-24T16:08:24.297 に答える
0

Propertiesクラスを介して直接これを行うことはできません。これを使用して、プロパティ値を読み取ることができます。ただし、 StringTokenizerクラスまたはStringsplit(String regex)クラスのメソッド、または正規表現 API のPattern & Matcherクラス (クラスが内部で使用する)のいずれかを使用する必要があります。String.split(String regex)

于 2013-10-24T16:07:49.790 に答える