在java中,如何仅从给定的albha数字单词中获取字母表?
如果这是一个愚蠢的问题,很抱歉。但我需要知道这一点 如果我有字母表、数字表和特殊证书之类的单词。我只需要提取字母表。不需要数字和特殊字符。我需要知道Java中是否有只拆分字符的默认函数在java中,如何仅从给定的albha数字单词中获取字母表?,java,Java,如果这是一个愚蠢的问题,很抱歉。但我需要知道这一点 如果我有字母表、数字表和特殊证书之类的单词。我只需要提取字母表。不需要数字和特殊字符。我需要知道Java中是否有只拆分字符的默认函数 eg.String word="te123@#st"; 我只需要测试。试试这个word.replaceAll(“[^a-zA-Z]”,“)尝试以下操作: word = word.replaceAll("[\\d@#_]", ""); 这将删除所有非字母数字字符,但仍将删除重音字符 String word =
eg.String word="te123@#st";
我只需要测试。试试这个
word.replaceAll(“[^a-zA-Z]”,“)代码>尝试以下操作:
word = word.replaceAll("[\\d@#_]", "");
这将删除所有非字母数字字符,但仍将删除重音字符
String word = "te123@#st";
word = word.replaceAll("[^\\p{Alpha}]", "");
// or word = word.replaceAll("[\\P{Alpha}]", "");
请参阅。试试看
word = word.replaceAll("\\P{Alpha}", "");
此解决方案适用于重音字符/非ascii字符:
"te123@#st\néàø_".replaceAll("[\\p{Digit}\\p{Punct}\\p{Space}]", "");
-我不会用Regex
使这个问题变得复杂,但是将使用内置的Java功能来回答这个问题。
-首先使用subString()
方法获取字符串的“abcd”部分,然后使用tocharray()
方法将字符串
分解为char
元素,然后使用字符类的isDigit()
方法了解其是否为数字
public class T1 {
public static void main(String[] args){
String s = "te123@#st";
String str = s.substring(0,4);
System.out.println(str);
String tempStr = new String();
char[] cArr = str.toCharArray();
for(char a :cArr){
if(Character.isAlphabetic(a)){
System.out.println(a+" is a alphabet");
tempStr = tempStr + a;
}else{
System.out.println(a+" is not a alphabet");
}
}
System.out.println("The extracted String is: "+tempStr);
}
}
@格菲,怎么了?它替换了所有非单词字符和下划线(单词字符允许),我执行了它,我得到了@#
这输出了这两个字符“@#”,OP只要求字母数字,例如“test”?@gefei你是对的我在否定字符集,我修复了solution@gefei下划线包含在字符集中
public class T1 {
public static void main(String[] args){
String s = "te123@#st";
String str = s.substring(0,4);
System.out.println(str);
String tempStr = new String();
char[] cArr = str.toCharArray();
for(char a :cArr){
if(Character.isAlphabetic(a)){
System.out.println(a+" is a alphabet");
tempStr = tempStr + a;
}else{
System.out.println(a+" is not a alphabet");
}
}
System.out.println("The extracted String is: "+tempStr);
}
}