我需要帮助做以下事情:
replaceAll
从用户输入中删除数字0-9。以下代码是我目前所拥有的,但它只返回用户输入而不是删除数字:
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);
答案 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]",但是您还要删除特殊字符。