我已经在这个社区的帮助下取代了从用户输入中删除数值,但是,我的代码只会在删除数字之前检索字母字符:
import java.util.Scanner;
public class Assignment2_A {
public static void main(String[] args) {
Scanner firstname = new Scanner(System.in);
String firstname1 = firstname.next();
firstname1 = firstname1.replaceAll("[^A-Z]","");
System.out.println(firstname1);
}
}
例如,如果用户输入= S1234am,我只会回来:S。如何检索字符串中的剩余字符?
答案 0 :(得分:38)
这将删除所有数字:
firstname1 = firstname1.replaceAll("\\d","");
答案 1 :(得分:19)
您可以使用:
firstname1 = firstname1.replaceAll("[0-9]","");
这将删除字符串firstName1
中的所有数值。
String firstname1 = "S1234am";
firstname1 = firstname1.replaceAll("[0-9]","");
System.out.println(firstname1);//Prints Sam
答案 2 :(得分:12)
您的正则表达式[^A-Z]
目前仅配置为保留大写字母。您可以尝试将其替换为[^A-Za-z]
以保留小写字母。
答案 3 :(得分:4)
如何从字符串中删除数值:
要做到这一点就足够了
str.replaceAll("[^A-Za-z]","");
但是如果你的字符串包含如下字符怎么办?
String str = "stackoverflow elenasys +34668555555 # Пивоварова Пивоварова հայեր հայեր አማሪኮ አማሪኮ kiểm tra kiểmtra ตรวจสอบ ตรวจสอบ التحقق من التحقق من";
大多数字符也会被删除,所以这是一个更好的选择:
str = str.replaceAll("[\\d.]", "");
删除所有数值并得到结果:
stackoverflow elenasys + # Пивоварова Пивоварова հայեր հայեր አማሪኮ አማሪኮ kiểm tra kiểmtra ตรวจสอบ ตรวจสอบ التحقق من التحقق من
答案 4 :(得分:1)
你的正则表达式:
[^A-Z]
匹配任何非大写字母的内容。
这意味着任何小写字母也会匹配。
您应该使用:
[^A-Za-z]
作为正则表达式。
另请注意,除了ASCII之外,这不会考虑任何其他因素。它可能是,也可能不是你想要的。
答案 5 :(得分:0)
public static void main(String[] args) {
String address = "34732483dhshdsdhajsa8ejdsdd";
char[] chars = address.toCharArray();
String aString = "";
for (int i = 0; i < chars.length; i++) {
if (!Character.isDigit(chars[i])) {
aString =aString + chars[i];
}
}System.out.println(aString);
}
答案 6 :(得分:-1)
/*Remove numbers from given specific string*/
public class NewClass6 {
public static void main(String[] args){
String s= "hello647hi74joke";
char[] ch=s.toCharArray();
System.out.println("Result = "+getString(ch));
}
static String getString(char[] ch){
int m = 0;
char[] chr=new char[50];
char[] k = {'0','1','2','3','4','5','6','7','8','9'};
for(int i = 0 ; i < ch.length ; i++){
for(int j = 0 ; j < k.length ; j++){
if(ch[i]==k[j]){
m--;
break;
}else{
chr[m]=ch[i];
}
}
m++;
}
String st = String.valueOf(chr);
return st;
}
}