【问题标题】:how to change a character of a string and retrive back [closed]如何更改字符串的字符并取回[关闭]
【发布时间】:2014-08-11 00:03:10
【问题描述】:

我需要用我存储在数组中的预定义值来转换一些字符串。例如 我有一个字符串数组,如string[] arr = {"a=z","p=v","l=t","e=m"} 现在我从edittext得到一些字符串:string val = et.gettext().tostring;

现在我想要的是将该值从 edittext 转换为存储在数组中的字符,例如,如果用户在编辑文本中输入“apple”,它将转换为“ 苹果 = zvvtm;当我在数组中定义字符时。 如果我想再次显示它,那么 zvvtm 将转换为苹果;

【问题讨论】:

  • 最好将这样的规则存储在地图中而不是字符串数组中
  • "现在我从 edittext 获取了一些字符串:string val = et.gettext().tostring;" 你不是在 Java 中。
  • 使用数组 arr 的条目创建 2 个映射:Map。然后,很容易迭代字符串,获取每个字符的翻译并在 StringBuilder 中构建翻译。

标签: java android arrays string


【解决方案1】:

这是让您替换的代码。同样的方法你可以尝试反向。

    HashMap map=new HashMap();
    String[] arr = {"a=z","p=v","l=t","e=m"};
    String text="apple";
    for (int i = 0; i < arr.length; i++) {
        String string = arr[i];
        String replace=string.split("=")[0];
        String replaceWith=string.split("=")[1];
        map.put(replace,replaceWith);
    }
    String newString="";
    char[] chars = text.toCharArray();
    for (int i = 0; i < chars.length; i++) {
        char c = chars[i];
        if(map.keySet().contains(String.valueOf(c)))
            newString+=map.get(String.valueOf(c));
        else
            newString+=c;
    }

    System.out.println(newString);

这段代码只是给你一个想法,这段代码可以被优化以提高性能。

【讨论】:

  • 正是我想要的......感谢@java学习者它工作......
猜你喜欢
  • 1970-01-01
  • 2014-10-08
  • 2018-02-12
  • 1970-01-01
  • 1970-01-01
  • 2017-02-27
  • 2013-06-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多