【问题标题】:Android - how to replace part of a string by another string?Android - 如何用另一个字符串替换部分字符串?
【发布时间】:2011-08-10 21:27:39
【问题描述】:

我有一些数字和英文单词的字符串,我需要通过找到它们并将它们替换为该单词的本地化版本来将它们翻译成我的母语。你知道如何轻松实现替换字符串中的单词吗?

谢谢

编辑:

我已经尝试过(字符串“to”的一部分应该替换为“xyz”):

string.replace("to", "xyz")

但它不起作用......

【问题讨论】:

    标签: java android string


    【解决方案1】:

    在kotlin中没有replaceAll,所以我创建了这个循环来替换字符串或任何变量中的重复值。

     var someValue = "https://www.google.com.br/"
        while (someValue.contains(".")) {
            someValue = someValue.replace(".", "")
        }
    Log.d("newValue :", someValue)
    // in that case the stitches have been removed
    //https://wwwgooglecombr/
    

    【讨论】:

      【解决方案2】:

      rekaszeru

      我注意到您在 2011 年发表了评论,但我认为无论如何我都应该发布这个答案,以防有人需要“替换原始字符串”并遇到这个答案..

      我以 EditText 为例


      // 为目标文本框命名

       EditText textbox = (EditText) findViewById(R.id.your_textboxID);
      

      // 要替换的字符串

       String oldText = "hello"
       String newText = "Hi";      
       String textBoxText = textbox.getText().toString();
      

      // 用返回的字符串替换字符串

      String returnedString = textBoxText.replace( oldText, newText );
      

      // 使用返回的字符串替换文本框内的新字符串

      textbox.setText(returnedString);
      

      这是未经测试的,但这只是使用返回的字符串将原始布局字符串替换为 setText() 的示例!

      显然这个例子要求你有一个 ID 设置为 your_textboxID 的 EditText

      【讨论】:

        【解决方案3】:

        您可能会感兴趣:

        在java中,字符串对象是不可变的。不可变只是意味着不可修改或不可更改。

        一旦创建了字符串对象,它的数据或状态就不能改变,但是会创建一个新的字符串对象。

        【讨论】:

          【解决方案4】:
          String str = "to";
          str.replace("to", "xyz");
          

          试试吧:)

          【讨论】:

            【解决方案5】:

            你只犯了一个错误。

            在那边使用replaceAll()函数。

            例如

            String str = "Hi";
            String str1 = "hello";
            str.replaceAll( str, str1 );
            

            【讨论】:

            • --replaceAll() 函数不改变原始字符串,它返回处理后的字符串作为结果!
            【解决方案6】:

            它正在工作,但它不会修改调用者对象,而是返回一个新的字符串。
            所以你只需要把它赋给一个新的 String 变量,或者赋给它自己:

            string = string.replace("to", "xyz");
            

            String newString = string.replace("to", "xyz");
            

            API 文档

            public String replace (CharSequence target, CharSequence replacement) 
            

            自:API 级别 1

            复制此字符串替换 指定目标的出现次数 序列与另一个序列。这 字符串从头开始处理 到最后。

            参数

            • target 要替换的序列。
            • replacement替换 顺序。

            返回结果字符串。
            抛出 NullPointerException 如果目标或替换为空。

            【讨论】:

            • 如何替换多个元素?例如,Replace letter h or l?
            猜你喜欢
            • 2022-12-28
            • 1970-01-01
            • 1970-01-01
            • 2019-09-26
            • 2011-03-25
            • 1970-01-01
            相关资源
            最近更新 更多