用字符串

时间:2016-02-09 07:16:00

标签: java android html

我必须使用我的Android应用程序所需的文本大小替换HTML文本中的“font-size”值。

我正在

  

font-size:26.2101px;

     

font-size:0.9em

     

font-size:31px;

我想将值“16px”替换为“font-size”属性。我怎样才能做到这一点?

4 个答案:

答案 0 :(得分:2)

你应该能够用正则表达式实现这一点。

font-size形式的东西:[0-9] 。?[0-9] (px | em)

有关regular expressions的详细信息,请查看此页:

要测试此表达式,您可以转到here

答案 1 :(得分:2)

您可以使用正则表达式将文本替换为

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

希望这有帮助。

答案 2 :(得分: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;

答案 3 :(得分:1)

这可以使用RegEx

(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");