【问题标题】:replace text with string用字符串替换文本
【发布时间】:2016-02-09 18:09:56
【问题描述】:

我必须将我的 HTML 文本中的 "font-size" 值替换为我的 Android 应用所需的文本大小。

我得到了

字体大小:26.2101px;

字体大小:0.9em

字体大小:31px;

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

【问题讨论】:

    标签: java android html


    【解决方案1】:

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

    字体大小形式的东西:[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");
      

      希望这会有所帮助。

      【讨论】:

        【解决方案3】:

        这可以使用正则表达式

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

        【讨论】:

        • 感谢@NJ 它的工作,对您的代码进行一些更改以获得更好的输出。 String regEx="(font-size: \\d+.?\\d+((em)?(px)?))";
        • 欢迎您,很高兴为您提供帮助,请投票并接受
        【解决方案4】:

        如果我正确理解了您的问题,那么您可能正在寻找这样的东西:

        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;
        

        【讨论】:

          猜你喜欢
          • 2015-11-04
          • 1970-01-01
          • 1970-01-01
          • 2014-04-18
          • 2015-05-19
          • 2012-03-24
          • 2018-08-29
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多