拆分user_input字符串,转换为大写&小写,并返回正确的格式

时间:2016-10-01 17:13:25

标签: java string

我一直试图找出如何为课程创建程序。到目前为止,我已经完成了其余部分,但我仍然不确定如何开始它。

我需要以任何格式接收姓名:jOhn, joHN, JoHn 并将其转换为John。我一直在寻找如何将它们分开并返回,但我没有运气。 有人可以帮忙吗?

顺便说一句,这是针对Java的。

编辑:不确定我是否以正确的方式完成了这项工作,但我最终得到了这个:

System.out.println("Please type in your first name.");
String firstName = fName.next();
String partFirstName = firstName.toUpperCase().substring(0,1);
String partFirstName2 = firstName.toLowerCase().substring(1);
String correctFirst = (partFirstName + partFirstName2);

3 个答案:

答案 0 :(得分:3)

简单地在Java中,没有任何第三方库,您可以迭代分裂String s数组的每个元素,然后执行:

Character.toUpperCase(user_input.charAt(0)) + user_input.substring(1).toLowerCase();

答案 1 :(得分:1)

我不知道这是否是您要找的,但您可以尝试以下方法:

编辑:感谢Bohemian在我的代码中指出了一个小错误。名称格式问题的最简单代码是Character.toUpperCase(input.charAt(0)) + input.substring(1).toLowerCase();。这也是mhasen对他和波西米亚人的回报。下面包含代码段和所有内容。

import java.util.Scanner;

public class Test {

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        String input = scan.nextLine();

        String newInput = Character.toUpperCase(charAt(0))
                          + input.substring(1).toLowerCase();

        System.out.println();
        System.out.println(newInput);

        scan.close();
    }
}

答案 2 :(得分:0)

您可以使用Apache Commons LangWordUtils.capitalize()

例如:WordUtils.capitalize("john")将返回"John"

为了分割字符串,你可以使用String的split()方法:

String input = "jOhn,JOhn,jOHn";
String[] values = input.split(","); 

值将是String的数组包含" jOhn"," JOhn"和" jOHn"