Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用点作为分隔符?_Java_Java.util.scanner_Delimiter - Fatal编程技术网

Java 如何使用点作为分隔符?

Java 如何使用点作为分隔符?,java,java.util.scanner,delimiter,Java,Java.util.scanner,Delimiter,当我运行上面的代码并键入asdf.然后输入时,我什么也得不到 它适用于,“”;“”“\\\\”或任何东西,但不适用于”…所以点有什么问题吗?还是只是Eclipse IDE或任何东西的问题?扫描仪正在使用正则表达式(regex)作为分隔符,在正则表达式中是表示除行分隔符以外的任何字符的特殊字符。因此,如果在编写asdf时分隔符是任何字符。则其每个字符都将被视为分隔符,而不仅仅是点。因此,每次都将使用next()结果将是空字符串,存在于我用| import java.util.Scanner; pu

当我运行上面的代码并键入
asdf.
然后输入时,我什么也得不到


它适用于
,“
”;“
“\\\\”
或任何东西,但不适用于
…所以点有什么问题吗?还是只是Eclipse IDE或任何东西的问题?

扫描仪正在使用正则表达式(regex)作为分隔符,在正则表达式中是表示除行分隔符以外的任何字符的特殊字符。因此,如果在编写
asdf时分隔符是任何字符。
则其每个字符都将被视为分隔符,而不仅仅是点。因此,每次都将使用
next()
结果将是空字符串,存在于我用
|

import java.util.Scanner;
public class Test{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        input.useDelimiter(".");
        String given = input.next();
        System.out.println(given);
    }
}
要创建点文字,您需要对其进行转义。您可以使用
\.
进行转义。还有其他方法,如使用
[.]

所以试试看

a|s|d|f|.
/这可能是另一个有用的例子,即如何使用Delimeter? 扫描仪检测任何字符串中的点,然后通过任何循环将字符串数据简单地分离并存储在ArrayList中/

/如果有帮助,请按向上按钮/

}

input.useDelimiter("\\.");
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());
        }
    });
}