Получить значение EditText слово за словом

Пожалуйста, может кто-нибудь помочь мне с этим кодом. Я начинающий программист, и я пытаюсь создать пример 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 ответ

Решение

Используйте String.split(), чтобы разбить ваш текст на слова:

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

Замечания:
Выражение \\s+ является регулярным выражением, которое разделит вашу строку на пробельные символы.

Другие вопросы по тегам