我刚刚使用Android,但是受命为我的实习项目提供帮助.

可以说我有以下详细信息:

Fonia Taylo

Product Manager

foniataylo@gmail.com

98706886

从上面的详细信息中,我想将其传递到一个类中,然后可以使用正则表达式过滤掉该电子邮件地址,并将仅此过滤出的电子邮件地址传递给EditText.

我搜索了很多有关正则表达式的教程,尤其是有关Android Pattern和Matcher类的教程.

但是我发现的所有示例仅用于验证仅输入到EditText字段中的文本.

我需要做的是:

>验证整个文本,如上所示

>使用正则表达式过滤掉电子邮件地址(并删除其余文本)

>仅将此电子邮件地址传递给EditText

目前,以下是我的课程:

public class RegexOCR1 extends Activity {

private Pattern pattern;

private Matcher matcher;

private String recognizedText, textToUse;

private static final String EMAIL_PATTERN =

"^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@"

+ "[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$";

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_createcontact);

// Getting the path of the image from another class

Bundle extras = this.getIntent().getExtras();

recognizedText = extras.getString("TEXT");

textToUse = recognizedText;

}

@Override

public void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

setContentView(R.layout.usetext);

showText();

//Log.i(TAG, "onConfigChanged");

}

private void showText(){

//Log.i(TAG, "ShowText");

Intent intent = new Intent(this, CreateContactActivityOCR.class);

startActivity(intent);

}

public EmailValidator() {

Pattern pattern = Pattern.compile(EMAIL_PATTERN);

Matcher matcher = pattern.matcher(textToUse);

if (matcher.find())

{

String email = textToUse.substring(matcher.start(), matcher.end());

} else {

// TODO handle condition when input doesn't have an email address

}

}

public boolean validate(final String hex) {

matcher = pattern.matcher(hex);

return matcher.matches();

}

}

如您所见,它几乎是不完整的.我想将“ textToUse”传递到正则表达式验证中,然后继续执行上述功能.

编辑:

经过以下方法:

public EmailValidator() {

Pattern pattern = Pattern.compile(EMAIL_PATTERN);

Matcher matcher = pattern.matcher(textToUse);

if (matcher.find())

{

String email = textToUse.substring(matcher.start(), matcher.end());

} else {

// TODO handle condition when input doesn't have an email address

}

}

提取出电子邮件地址;然后,如何将提取的电子邮件地址通过意图传递给另一个类中的EditText?

如果您有任何想法,请告诉我如何更改代码.谢谢!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐