2016-02-09 38 views
2

我要在我的HTML文字与我要求的文本大小我的Android应用程序替换“字体大小”值替换文本。用绳子

我越来越

字体大小:26.2101px;

font-size:0.9em

font-size: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其工作,在你的代码中的一些变化进行更好的输出。串正则表达式= “(字体大小:???\\ 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](PX | EM)

有关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

工作,谢谢。 –