如何验证“@”符号的字符串并传递给if语句

时间:2012-07-20 21:31:05

标签: java regex

我想知道以下代码有什么问题。

public void onClickSave (View cs)
{
    Pattern pattern = Pattern.compile("@");
    Matcher matcher = pattern.matcher(userid);
    boolean found = matcher.find();

      if(found){
         //do stuff

所以目标是检查字符串是否为@符号。不确定我缺少Java新手。谢谢你的帮助

4 个答案:

答案 0 :(得分:3)

为什么你不尝试使用contains方法?

String userID = "@Test";
boolean found = userID.contains("@");

但这对我也有用:

String userID = "@Test";
Pattern pattern = Pattern.compile(".*@.*");
Matcher matcher = pattern.matcher(userID);
boolean found = matcher.find();

答案 1 :(得分:2)

正则表达式在这里过度,你可以使用contains方法完成同样的事情,

if(userid.contains("@")){
   //Do something.

答案 2 :(得分:1)

试试这个:

if(userid.contains("@") {
   //do stuff
}

答案 3 :(得分:1)

使用String#contains

  1. 将字符串转换为字符数组
  2. 迭代每个字符,直到找到@字符(如果有的话)
  3. 使用正则表达式执行这样一个简单的任务是不必要的,而且过于复杂。