逐字获取EditText值

时间:2016-12-19 07:54:04

标签: java socrata

请有人帮我解决这个问题。我是一个新手程序员,我正在尝试构建一个示例android项目,从文本字段中的文本中提取电子邮件。 .xml文件已就绪,但mainActivity是问题所在。

请查看下面的代码并查看问题。

import android.app.*;
import android.os.*;
import android.view.*;
import android.content.*;
import android.widget.*;
import java.util.*;

public class MainActivity extends Activity 
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                                                 WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.main);
    }

    public void OnExtractButtonClick(View view)
    {
        EditText mainEditText1=(EditText)findViewById(R.id.mainEditText1);
        String txt = mainEditText1.getText().toString();     //Here, this code reads the
                                                                                               //whole input in the text 
                                                                                               //field (mainEditText1)...
     /* ..and that is my problem is at this point. How do i get to read the contents of 
       the text field(mainEditText1) word after word, (like .next() method does, as it 
       can only read input in the string till the next space and not all the input in
       the string.)
     */

       if  (txt.contains("@"))
       {
            Toast.makeText(MainActivity.this,"Let's see:  " +txt,
            Toast.LENGTH_LONG).show();
        }
    }
}

谢谢你们

1 个答案:

答案 0 :(得分:1)

使用String.split()将文字拆分为单词:

String[] words = s.split("\\s+");
for(String word : words) {
    // Do what you want with your single word here
}

注意:
表达式\\s+Regular Expression,它将用空格字符分割字符串。