2016-02-09 2 views
2

Мне нужно заменить «font-size» значение в моем HTML текст с моим размером требуемого текста для моего приложения для Android.заменить текст на строку

Я получаю

размер шрифта: 26.2101px;

размер шрифта: 0.9em

размер шрифта: 31px;

Я хочу заменить "размер шрифта" атрибут со значением "16px". Как я могу это достичь?

ответ

1

Это возможно с помощью регулярных выражений

(font-size: \\d+.?\\d+((em)?(px)?)) 

Пример

 String s="font-size: 26.2101px;"; 
    String regEx="(font-size: \\d+.?\\d+((em)?(px)?))"; 
    s=s.replaceAll(regEx,"16px"); 
+0

Благодаря @NJ его работа, некоторые изменения в вашем коде для лучшего вывода. String regEx = "(font-size: \\ d +.? \\ d + ((em)? (Px)?))"; –

+0

Добро пожаловать, рад помочь вам, пожалуйста, проголосуйте и принимайте –

+0

Я обновил ответ –

1

Если я понял вашу проблему правильно, то вы, вероятно, ищете что-то вроде этого:

public static void main (String[] args) 
{ 
    /* Text To-Be Replaced */ 
    String myTextString = "font-size: 26.2101px;\nfont-size: 0.9em\nfont-size: 31px;"; 
    /* Regex Replace */ 
    System.out.println(myTextString.replaceAll("font-size: [0-9]+px;","font-size: 16px;"); 
} 

Выход:

font-size: 26.2101px; 
font-size: 0.9em 
font-size: 16px; 
2

Вы должны быть в состоянии достичь этого с помощью регулярного выражения.

Что-то в виде размера шрифта: [0-9] [0-9] (рх | эм)

Для получения более подробной информации о regular expressions вы можете проверить эту страницу:.?

чтобы проверить это выражение, вы можете пойти here

2

вы можете использовать регулярные выражения, чтобы заменить текст

String htmlString = Html.fromHtml("yourHtmlString").toString(); 
String regex = "font-size: \\(\\[0-9\\]*\\(.*\\)\\[0-9\\]+px\\);"; 
htmlString.replaceAll(regex, "font-size: 30px"); 

Надеюсь, это поможет.

+0

Работаю, спасибо. –

Смежные вопросы