我有一个名为“Firstname MiddleInitial姓氏”的字符串。
我想将其转换为“Lastname,Firstname MiddleIntial”
有些名字可能有中间名,但有些可能没有:
String Name1 = "John Papa P";
String name2 = "Michael Jackson";
// Desired Output
result1 = "Papa, John P";
result2 = "Jackson, Michael";
我该如何做到这一点?
答案 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,你就不用。
然后针对每种情况重新排列数组,如你所愿。