java - 替换字符串中的相应字符(java)

标签 java string

任务是:编写静态函数来操作并返回Strings

public static String tr(String s, String from, String to)

此方法返回一个 String,其中 from 中存在的 s 中的所有字符都被相应的字符(在相同位置)替换) 字符从 。为了使这一点有意义,from 中的所有字符都必须不同,并且 fromto 的长度应该相同。例如,如果 from 是“abc”,to 是“XXY”,则所有出现的“a”和“b”都应替换为“X”和“c' by 'Y'。

结果

System.out.println(tr("November 2016", "abcdefghijklmnopqrstuvwyz", "ABCDEFGHIJKLMNOPQRSTUVWYZ"));

System.out.println(tr("abcXYZ","aZcX","||Cx"));

应分别为 2016 年 11 月和 |bCxY|。

这是我的代码。我什至无法正确编译它。有人可以看一下并帮助我吗?

public static String tr(String s, String from, String to) {
    for (int i = 0; i < s.length(); i++) {
        if s.charAt(i) == from.charAt(i) {
            s = s.replace(s.charAt(i), to.charAt(i));
        }
    }
    return s;
}

最佳答案

您的 if 语句需要括号

if (s.charAt(i) == from.charAt(i))

注意已检查您的逻辑

你的逻辑应该是

for (int i = 0; i < s.length(); i++) {

    int idexof = from.indexOf(s.charAt(i));
    if (idexof != -1) {
        s = s.replace(s.charAt(i), to.charAt(idexof));   
    }

}
return s;

关于java - 替换字符串中的相应字符(java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59366771/

相关文章:

Java SimpleDateFormat 时间异常

string - 阅读最后一行

c++ - 类成员的内存泄漏

c - 字符串比较 C - strcmp()

java - 如何拆分数组中的字符串并与其建立关联数组?

java - eclipse无法加载jni共享库

java - 如何使用 thymeleaf 和 spring 国际化动态更改语言选择链接

Java注释: make @NotNull

java - Java gc 和 android gc 之间的区别?

c++ - 如何通过 #define 函数向格式化字符串函数调用添加参数