java regex matcher_java-使用Android模式和Matcher类(Regex)
我刚刚使用Android,但是受命为我的实习项目提供帮助.可以说我有以下详细信息:Fonia TayloProduct Managerfoniataylo@gmail.com98706886从上面的详细信息中,我想将其传递到一个类中,然后可以使用正则表达式过滤掉该电子邮件地址,并将仅此过滤出的电子邮件地址传递给EditText.我搜索了很多有关正则表达式的教程,尤其是有关Android Patte
我刚刚使用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?
如果您有任何想法,请告诉我如何更改代码.谢谢!
更多推荐



所有评论(0)