用Java重新排列字符串

时间:2014-10-18 23:34:11

标签: java string

我有一个名为“Firstname MiddleInitial姓氏”的字符串。

我想将其转换为“Lastname,Firstname MiddleIntial”

有些名字可能有中间名,但有些可能没有:

String Name1 = "John Papa P";
String name2 = "Michael Jackson";

// Desired Output
result1 = "Papa, John P";
result2 = "Jackson, Michael";

我该如何做到这一点?

4 个答案:

答案 0 :(得分:3)

也许是这样的?

public class HelloWorld{

     public static void main(String []args){
        String name1 = "John Papa P";
        String name2 = "Michael Jackson";

        String[] split = name1.split(" ");

        String result;
        if (split.length > 2) {
            result = split[1] + ", " + split[0] + " " + split[2];
        } else {
            result = split[1] + ", " + split[0];
        }

        System.out.println(result);
     }
}

答案 1 :(得分:1)

您可以使用String上的split()方法将空格分隔为使用空格作为分隔符的字符串数组,并根据需要重新排列数组。

答案 2 :(得分:1)

执行此操作的一种可能方法是使用拆分功能并将其设为列表。

    String one = "John Doe";
    String two = "Albert Einstein";
    String [] onelst = one.split(" ");
    String [] twolst = two.split(" ");
    String oneMod = onelst[1]+" "+onelst[0];
    String twoMod = twolst[1]+" "+twolst[0];
    System.out.println(oneMod);
    System.out.println(twoMod);

输出:

Doe John
Einstein Albert

答案 3 :(得分:1)

只需使用split()创建一个名称数组。现在只需使用size()来获取数组的大小,如果它是3,那么你有MiddleInitial,如果你有2,你就不用。

然后针对每种情况重新排列数组,如你所愿。