Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中,如何仅从给定的albha数字单词中获取字母表?_Java - Fatal编程技术网

在java中,如何仅从给定的albha数字单词中获取字母表?

在java中,如何仅从给定的albha数字单词中获取字母表?,java,Java,如果这是一个愚蠢的问题,很抱歉。但我需要知道这一点 如果我有字母表、数字表和特殊证书之类的单词。我只需要提取字母表。不需要数字和特殊字符。我需要知道Java中是否有只拆分字符的默认函数 eg.String word="te123@#st"; 我只需要测试。试试这个word.replaceAll(“[^a-zA-Z]”,“)尝试以下操作: word = word.replaceAll("[\\d@#_]", ""); 这将删除所有非字母数字字符,但仍将删除重音字符 String word =

如果这是一个愚蠢的问题,很抱歉。但我需要知道这一点

如果我有字母表、数字表和特殊证书之类的单词。我只需要提取字母表。不需要数字和特殊字符。我需要知道Java中是否有只拆分字符的默认函数

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);
             }
     }