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());
}
});
}