【发布时间】:2016-02-09 18:09:56
【问题描述】:
我必须将我的 HTML 文本中的 "font-size" 值替换为我的 Android 应用所需的文本大小。
我得到了
字体大小:26.2101px;
字体大小:0.9em
字体大小:31px;
我想将 "font-size" 属性替换为值 "16px"。我怎样才能做到这一点?
【问题讨论】:
我必须将我的 HTML 文本中的 "font-size" 值替换为我的 Android 应用所需的文本大小。
我得到了
字体大小:26.2101px;
字体大小:0.9em
字体大小:31px;
我想将 "font-size" 属性替换为值 "16px"。我怎样才能做到这一点?
【问题讨论】:
您应该能够使用正则表达式来实现这一点。
字体大小形式的东西:[0-9].?[0-9](px|em)
有关regular expressions的更多详细信息,您可以查看此页面:
要测试这个表达式,你可以去here
【讨论】:
您可以使用正则表达式将您的文本替换为
String htmlString = Html.fromHtml("yourHtmlString").toString();
String regex = "font-size: \\(\\[0-9\\]*\\(.*\\)\\[0-9\\]+px\\);";
htmlString.replaceAll(regex, "font-size: 30px");
希望这会有所帮助。
【讨论】:
这可以使用正则表达式
(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");
【讨论】:
如果我正确理解了您的问题,那么您可能正在寻找这样的东西:
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;
【讨论】: