如何知道String是否包含Java中的特定字符集

时间:2017-08-17 14:47:27

标签: java string

我有一个可以包含的字符串:

  • 纯文本(例如回答问题或电子邮件);

  • 只有数字和" =&#34 ;;

  • 只有数字和" [" "]" ""

我试图找到一种方法来区分这些情况,特别是能够知道该字符串是否只属于一个案例(即它是否包含纯文本和数字以及其他字符,如" ="或" ["我想把它放在第一种情况下,如果它只包含数字和" ="我' d喜欢把它放在第二种情况下)。

我尝试使用类似的东西:

if (text.contains("[") && text.contains("]") && text.contains(","))
      //other code

但在这种情况下,它可能是文字和那些字符或数字以及那些字符,所以我无法决定我是在第一种情况还是第二种情况。

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

这可以通过使用正则表达式轻松解决。看看here

在你的情况下:这是我将使用的正则表达式:

只有数字和“=”;

s.matches("^[0-9|=]+$");

仅限数字和“[”“]”“,”。

s.matches("^[0-9|\[|\]|,]+$");

第一个案例就是其余的一切!

!s.isEmpty();

答案 1 :(得分:3)

前往正则表达式

对于数字:

System.out.println(data.matches("[0-9]+"));

对于数字和' ='

System.out.println(data.matches("[0-9=]+"));

对于数字和方括号,和

System.out.println(data.matches("[0-9\\[\\],]+") );

纯文字:

   System.out.println(data.matches("[a-zA-Z]+"));

其中data是您的输入文字