【问题标题】:Replace String ">=" by "<" don't work将字符串 ">=" 替换为 "<" 不起作用
【发布时间】:2017-05-11 04:37:52
【问题描述】:

此问题已解决。我重新安装了安卓工作室,因为出现了另一个问题。


我正在尝试用下面的代码将字符串“>=”替换为“

String descricao = ">= 0";
if (descricao.contains(">=") ){

        descricao = descricao.replace(">=","<");
        listaElementosFiltro.get(i).setDescricao(descricao)};

我得到的结果是:

descricao = "&gt;&lt;&gt; 0" 而不是 "&lt; 0" 预期...

【问题讨论】:

  • String.replace() 工作可靠。它不会替代您描述的。您的问题一定出在其他地方,或者是在您显示结果时,或者您混淆了列表中的元素,或者setDescricao 做了一些意想不到的事情。你不使用与此相关的 HTML,是吗?
  • 同意,问题可能与打印部分有关。更多细节会有所帮助

标签: java android string replace


【解决方案1】:

奇怪,我查了一下,结果就是你想要的,反正

  • 先尝试clean and build,然后运行它

如果它仍然无法正常工作,请尝试以下方法之一:

String descricao = ">= 0";
    if (descricao.contains(">=")) {
        descricao = descricao.replace(">=", "<");
        System.out.println(descricao);
        //listaElementosFiltro.get(i).setDescricao(descricao);
    }

    // option 2
    if(descricao.startsWith(">=")){
        descricao= descricao.replace(">=","<");
        System.out.println(descricao);
    }

    // option 3
    if(descricao.indexOf(">=") >= 0){
        descricao= descricao.replace(">=","<");
        System.out.println(descricao);
    }

我不知道listaElementosFiltro.get(i).setDescricao(descricao);是什么,所以,我只是避免它。

【讨论】:

    【解决方案2】:

    这是一个有趣的问题,因为出乎意料的是特殊字符会干扰替换。

    This 会解决这个问题(虽然我没有测试过)。

    String greaterOrEqual = TextUtils.htmlEncode(">=");
    String smaller = TextUtils.htmlEncode("<");
    
    String descricao = TextUtils.htmlEncode(">= 0");
    if (descricao.contains(greaterOrEqual) ){
    
            descricao = descricao.replace(greaterOrEqual,smaller);
            listaElementosFiltro.get(i).setDescricao(Html.fromHtml(descricao))};
    

    【讨论】:

    • 我怀疑您的解决方案是否有效。为什么将其转换为 HTML 会有所帮助? FabioFerreiraCS 的问题一定出在他的问题中没有描述的领域。
    • @Codo 我认为它应该可以工作,因为“”转换为“>”,并且所有比较都将在不包含这些的字符串上进行特殊字符。我想他至少应该尝试一下。
    • 如果您的代码有效,那么带有String.replace() 的原始代码也可以。您对问题的原因没有任何解释。这肯定不是特殊字符,因为String.replace() 不关心它们。
    • @Codo 这确实很奇怪。我在等着看我的建议是否奏效。很简单,如果不是原因,可以尝试排除该选项。
    • 我想知道为什么答案在 8 个月后被否决了。我试图提供帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-08
    • 2016-02-15
    • 2016-10-05
    • 2012-07-08
    • 2011-08-12
    • 1970-01-01
    相关资源
    最近更新 更多