我需要使用存储在数组中的预定义值转换一些字符串。例如
我有一个像string[] arr = {"a=z","p=v","l=t","e=m"}
这样的字符串数组
现在我从edittext获得了一些字符串:string val = et.gettext().tostring;
现在我想要的是将edittext中的值转换为存储在数组中的字符,例如,如果用户输入" apple"在编辑文本中它将转换为" apple = zvvtm;因为我在数组中定义charecters。 如果我想再显示它,那么zvvtm将转换为苹果;
答案 0 :(得分:0)
以下是获取替代品的代码。同样的方法可以尝试反向。
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);
此代码只是为了让您了解,此代码可以针对性能改进进行优化。