开发者

java strings with numbers

I am having a group of strings in Arraylist.

I want to remove all the strings with only numbers and also strings like this : (0.75%),$1.5 ..basically everything that does not contain the characters. 2) I want to remove all special characters in the string before i write to the conso开发者_如何学运维le. "God should be printed God. "Including should be printed: quoteIncluding 'find should be find


Java boasts a very nice Pattern class that makes use of regular expressions. You should definitely read up on that. A good reference guide is here.

I was going to post a coding solution for you, but styfle beat me to it! The only thing I was going to do different here was within the for loop, I would have used the Pattern and Matcher class, as such:

for(int i = 0; i < myArray.size(); i++){
    Pattern p = Pattern.compile("[a-z][A-Z]");
    Matcher m = p.matcher(myArray.get(i));
    boolean match = m.matches();  
    //more code to get the string you want
}

But that too bulky. styfle's solution is succinct and easy.


When you say "characters," I'm assuming you mean only "a through z" and "A through Z." You probably want to use Regular Expressions (Regex) as D1e mentioned in a comment. Here is an example using the replaceAll method.

import java.util.ArrayList;

public class Test {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>(5);
        list.add("\"God");
        list.add("&quot;Including");
        list.add("'find");
        list.add("24No3Numbers97");
        list.add("w0or5*d;");

        for (String s : list) {
            s = s.replaceAll("[^a-zA-Z]",""); //use whatever regex you wish
            System.out.println(s);
        }
    }
}

The output of this code is as follows:

God
quotIncluding
find
NoNumbers
word

The replaceAll method uses a regex pattern and replaces all the matches with the second parameter (in this case, the empty string).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜