是否有类似python的translate()和maketransns()的Java版本?

jrcvhitl  于 2023-01-29  发布在  Java
关注(0)|答案(2)|浏览(114)

我正在做一个程序,把一条消息转换成那个消息的编码形式。我已经用python做过了,ut在java中找不到类似的方法。
我尝试了类似的命令,但没有工作。

flvlnr44

flvlnr441#

如果您指的是使用maketrans()translate() python函数的替代方法,那么您可以通过使用String类中的replace()方法在Java中实现类似的功能。

String original = "abcdefg";
String replaced = original.replace('a', 'z');
System.out.println(replaced);

这将导致输出“zbcdefg”

plupiseo

plupiseo2#

你可以这样做。

System.out.println(trans("this is a test", "tis", "xy"));
System.out.println(trans("Hello", "Heo", "Joy"));

印刷品

xhyx yx a xexx
Jolly

这是通过简单地用dest字符串中相同位置的字符替换index字符串中指定的目标字符来实现的。如果目标字符串比源字符串短,则使用remainder函数通过绕回来校正索引。然后返回结果字符串。

public static String trans(String target, String source,String dest) {
    char[] chars = target.toCharArray();
    for(int i = 0; i < target.length(); i++) {
        int index = source.indexOf(chars[i]);
        if (index >= 0) {
            index %= dest.length();
            chars[i] = dest.charAt(index);
        }
    }
    return new String(chars);
    
}

相关问题