【问题标题】:String replace in Java ME double spaceJava ME双空格中的字符串替换
【发布时间】:2010-03-28 12:42:32
【问题描述】:

如何在 Java ME 中将“a b”替换为“a b”?

replace() 方法不接受字符串,而只接受字符。而且由于双空格包含两个字符,我想我有一个小问题。

【问题讨论】:

    标签: string java-me replace char


    【解决方案1】:

    你觉得这个怎么样?我自己试过一个。

    private String replace(String needle, String replacement, String haystack) {
        String result = "";
        int index = haystack.indexOf(needle);
        if(index==0) {
            result = replacement+haystack.substring(needle.length());
            return replace(needle, replacement, result);
        }else if(index>0) {
            result = haystack.substring(0,index)+ replacement +haystack.substring(index+needle.length());
            return replace(needle, replacement, result);
        }else {
            return haystack;
        }
    }
    

    【讨论】:

      【解决方案2】:

      Here's one function你可能会使用:

      public static String replace(String _text, String _searchStr, String _replacementStr) {
          // String buffer to store str
          StringBuffer sb = new StringBuffer();
      
          // Search for search
          int searchStringPos = _text.indexOf(_searchStr);
          int startPos = 0;
          int searchStringLength = _searchStr.length();
      
          // Iterate to add string
          while (searchStringPos != -1) {
              sb.append(_text.substring(startPos, searchStringPos)).append(_replacementStr);
              startPos = searchStringPos + searchStringLength;
              searchStringPos = _text.indexOf(_searchStr, startPos);
          }
      
          // Create string
          sb.append(_text.substring(startPos,_text.length()));
      
          return sb.toString();
      } 
      

      【讨论】:

      • 谢谢,我希望有一个更短的解决方案。为什么要使用这些下划线?表示变量是参数?
      • 根据变量的作用域不同地命名变量是一个很好的编码标准。 Google 的 Android 代码对实例变量使用“m”前缀。 Symbian 例如使用“i”前缀,方法参数使用“a”前缀。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-25
      • 1970-01-01
      • 2013-05-09
      • 1970-01-01
      • 2023-03-24
      • 2018-09-19
      • 1970-01-01
      相关资源
      最近更新 更多