java - Java 输入行的分隔符

标签 java delimiter

希望这对某人来说非常简单,但我似乎无法解决。

尝试使用以下输入:

addperson jsmith,john,smith

到目前为止,我已经使用了两个具有不同分隔符的 Scanner 对象,但我无法让它工作。
我不想扫描整行并分割字符串。

import java.util.Scanner;
import java.util.ArrayList;
public class Delim
{
    public static void main(String[] args)
    {
        ArrayList<String> list = new ArrayList<String>();
        Scanner input = new Scanner(System.in);
        Scanner inputCommand = new Scanner(System.in);
        input.useDelimiter(",");
        inputCommand.useDelimiter(" ");
        System.out.println("Enter a username: (format username,name, surname)");
        list.add(inputCommand.next());               
        list.add(input.next());
        list.add(input.next());
        list.add(input.next());
        System.out.println("//debug: command " + list.get(0));
        printName(list);


    }

    static void printName(ArrayList arr)
    {
        System.out.println("username: " + arr.get(1) + "\nname: " + arr.get(2) + "\nsurname: " + arr.get(3));
    }
}

最佳答案

您可以使用带有自定义分隔符的单个扫描仪:

input.useDelimiter("[,\\s]");

这使得分隔符可以是逗号或空白字符。

因此,您的总体计划将是:

import java.util.Scanner;
import java.util.ArrayList;
public class Delim
{
    public static void main(String[] args)
    {
        ArrayList<String> list = new ArrayList<String>();
        Scanner input = new Scanner(System.in);
        input.useDelimiter("[,\\s]");
        System.out.println("Enter a username: (format username,name,surname)");
        list.add(input.next());               
        list.add(input.next());
        list.add(input.next());
        list.add(input.next());
        System.out.println(list);
        System.out.println("//debug: command " + list.get(0));
        printName(list);


    }

    static void printName(ArrayList arr)
    {
        System.out.println("username: " + arr.get(1) + "\nname: " + arr.get(2) + "\nsurname: " + arr.get(3));
    }
}

关于java - Java 输入行的分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17356213/

相关文章:

Java - 将多个用户输入添加到 arraylist

java - Swing Mvc 模型

java - 为什么选择ConcurrentModificationException的设计准则只是结构修改

powershell - 在 Powershell 脚本中,如何将管道 '|' 分隔文件转换为逗号 ',' 分隔 CSV?

linux - 如何通过读取多值分隔文件写入单值行

Java - 扫描逗号分隔的 double 值和整数值

python - 如何使用多个分隔符分割 pandas 数据框?

java - 运行 HashMap 中的对象的方法

java - 如何在 Vaadin 上使用 withConverter 方法防止 Binder 中出现 “null” 文本

php - 带制表符分隔符的 fputcsv