Как обернуть тег "<pre>" вокруг пробелов в строке Java? - PullRequest
1 голос
/ 26 июля 2010

Предположим, у меня есть длинная строка Java, мне нужно обернуть все пробелы (длина> = 2) тегом ... Как этого добиться?

ex:

<code>before :
String str = "<font color=\"#000000\">A B  C   D</font>"

after :
<font color=\"#000000\">A B<pre>  
C
 D  Между A и B находится один пробел, и он не обернут.Между B и C есть два пробела, и он обернут.Между C и D есть три пробела, и они тоже обернуты. 

Как этого добиться в RegExp?Большое спасибо!

Ответы [ 4 ]

5 голосов
/ 26 июля 2010

Как насчет CSS-решения с использованием white-space:

white-space: pre

При этом последовательности пробелов не свернуты. Итак:

<font color="#000000" style="white-space:pre">A B  C   D</font>
1 голос
/ 26 июля 2010

почему бы просто не установить white-space:pre-wrap или white-space:pre в качестве css для элемента, содержащего вашу строку? я думаю, это то, что вы пытаетесь архивировать.

(или, что еще проще, используйте &nbsp; вместо '' (обычное пространство))

1 голос
/ 26 июля 2010

Это, вероятно, не будет делать то, что вы хотите ... Будет ли &nbsp; делать работу, которую вы хотите?Кроме того, я бы серьезно подумал о замене интервала на <span style="width: 10px; display: inline-block;"> </span>.Или даже правильный стол ...

0 голосов
/ 26 июля 2010
<code>    String s = "123 123  123";
    s = s.replaceAll("(  )+", "<pre>$1
");

Строка s тогда содержит 123 123<pre> </pre>123

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...