如何获取扫描仪对象并使其成为字符串

时间:2013-07-07 18:22:07

标签: java string java.util.scanner replaceall

我需要帮助做以下事情:

  1. 使用Scanner类接收输入(我得到了这个)
  2. 从扫描仪获取输入并使其成为字符串
  3. 使用replaceAll从用户输入中删除数字0-9。
  4. 以下代码是我目前所拥有的,但它只返回用户输入而不是删除数字:

    public static void main(String[] args) {
    
        Scanner firstname = new Scanner(System.in);
        System.out.println("Please enter your first name:");
        String firstname1 = firstname.next();
        firstname1.replaceAll("[^0-9]","");
        System.out.println(firstname1);
    

    更新的代码。谢谢气垫船。我现在正在调查如何检索所有字母字符,如下面的代码,我只回到用户输入的数值之前的字母:

    import java.util.Scanner;    
    
    public class Assignment2_A {
    
        public static void main(String[] args) {
    
            Scanner firstname = new Scanner(System.in);
            System.out.println("Please enter your first name:");
            String firstname1 = firstname.next();
            firstname1 = firstname1.replaceAll("[^A-Z]","");
            System.out.println(firstname1);
    

3 个答案:

答案 0 :(得分:3)

String input = yourScannerObject.nextLine ();

其中“yourScannerObject”是您为扫描仪提供的名称。

答案 1 :(得分:1)

您使用什么方法进行扫描?是{scanner object name}.next()吗?

如果是这样,你有一个字符串,所有你要做的就是创建一些字符串,并将输入保存到它,例如:

  • String str="";
  • str = {scanner object name}.next();

在使用java之前的任何内容之前,我建议你阅读API:

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html#next()

答案 2 :(得分:0)

  

使用Scanner类接收输入(我得到了这个)

     

从扫描仪获取输入并使其成为字符串

     

使用replaceAll从用户输入中删除数字0-9。

以下是一个例子:

String in;
Scanner scan = new Scanner("4r1e235153a6d 6321414t435hi4s 4524str43i5n5g");
System.out.println(in = (scan.nextLine().replaceAll("[0-9]", ""))); // use .next() for space or tab

输出:

read this string

你的代码中的问题是正则表达式" [^ A-Z]"设置为删除所有非字母大写字母。这意味着您也要删除所有小写字母。您可以说" [^ a-zA-Z]",但是您还要删除特殊字符。