有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

检查是否在java 安卓 studio中的字符串中找到字符串

description = "<p>[lang=\"en\"]The large ones[/lang]</p>"

if (description.startsWith("<p>")) {
                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                            description = Html.fromHtml(description, Html.FROM_HTML_MODE_COMPACT).toString();
                        } else {
                            description=Html.fromHtml(description).toString();
                        }

                    }

//此条件无效字符串不会更改

if (description.matches("\\[lang=\\\"en\\\"\\]")) {
                        int lenght = description.length();
                        description.substring(7,lenght-7);
                    }

我需要从字符串中删除所有html和头[lang=\"en"\] 输出为:

" [lang="en"]The large ones[/lang] "


共 (2) 个答案

  1. # 1 楼答案

    申请后

    String subString = description.substring(7,lenght-7);
    

    只要使用替换

    subString = subString.replace("[lang=\"en\"]" , "");
    subString = subString.replace("[/lang]" , "");
    
  2. # 2 楼答案

    我将把结果路径分为两步-

    步骤1:删除所有HTML标记

    String description = "<p>[lang=\"en\"]The large ones[/lang]</p>"
    String stringTemp = Html.fromHtml(description).toString();
    

    这将给出[lang=\"en\"]The large ones[/lang],不管有多少HTML标记存在。所有这些描述值的结果都是一样的

    > <i><b><p>[lang=\"en\"]The large ones[/lang]</p></b></i>
    > <HTML><b><p>[lang=\"en\"]The large ones[/lang]</p></b></HTML>
    > <HTML><HEAD><b><p>[lang=\"en\"]The large ones[/lang]</p></b></HEAD></HTML>
    

    第2步:在[lang=“en”]StringValue[/lang]之间获取StringValue

    一旦我们有了所需的字符串,我们就可以使用@Khaled Alramam建议的String.subString()String.replace()等多种方法来操纵它

    使用subString()如下所示:

    /*
    * String.subString(beginIndex, endIndex);
    * Note: beginIndex is inclusive but endIndex is the exclusive
    * */
    
    String realString = stringTemp.substring(11,(stringTemp.length()-9));
    

    现在realString将有结果作为The large ones或到目前为止的任何字符串值

    编码快乐