How do I use a dot as a delimiter?

不打扰是莪最后的温柔 提交于 2019-11-28 14:12:14

Scanner is using regular expression (regex) as delimiter and dot . in regex is special character which represents any character except line separators. So if delimiter is any character when you write asdf. each of its character will be treated as delimiter, not only dot. So each time you will use next() result will be empty string which exists in places I marked with |

a|s|d|f|.

To create dot literal you need to escape it. You can use \. for that. There are also other ways, like using character class [.].

So try with

input.useDelimiter("\\.");

/This could be another helpful example, that how the use of Delimeter? The scanner detects DOTs in any string then it will simply separate and store the string data in ArrayList by the help of any LOOP./

/If it is helped Hit the UP button./

public class MainActivity extends AppCompatActivity {

EditText et_ip_address;
TextView txt_1st;
TextView txt_2nd;
TextView txt_3rd;
TextView txt_4th;
Button btn_getResult;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btn_getResult = findViewById(R.id.button);
    et_ip_address = findViewById(R.id.et_ip_address);
    txt_1st = findViewById(R.id.txt_1st);
    txt_2nd = findViewById(R.id.txt_2nd);
    txt_3rd = findViewById(R.id.txt_3rd);
    txt_4th = findViewById(R.id.txt_4th);
    final ArrayList data = new ArrayList();

    //Click on this button execute the code to separate Strings
    btn_getResult.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            data.clear();
            Scanner fromString = new Scanner(et_ip_address.getText().toString());
            fromString.useDelimiter("\\.");   //this is how we should use to detects DOT
            while(fromString.hasNext()){
                String temp = fromString.next();
                data.add(temp);
            }
            txt_1st.setText(data.get(0).toString());
            txt_2nd.setText(data.get(1).toString());
            txt_3rd.setText(data.get(2).toString());
            txt_4th.setText(data.get(3).toString());
        }
    });
}

}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!