java - 我如何在java中分割我的输入值

标签 java regex string split

import java.util.Scanner;

public class Main_Code {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("please input dice value");
        String pattern;
        pattern = input.nextLine();
        String[] parts = pattern.split("[d][-]");
        String part1 = parts[0];
        String part2 = parts[1];
        String part3 = parts[2];

        System.out.println(
            "The Pattern is : " + pattern + "\n" +
            "Number of dice : " + part1 + "\n" +
            "Number of dice surface : " + part1 + "\n" +
            "Card numbers is : " + part3);

我会用扫描仪输入(**2d6-4, 3d6-3**)这种类型的值。现在我想分割2d6-4(骰子数量:2,骰子面数:6,牌数是4)我该如何分割?

最佳答案

您可以使用正则表达式并拆分为多个标记:

 final String input = "2d6-4";
 final String[] tokens = input.split("-|d");
 System.out.println(Arrays.toString(tokens));

输出将是一个数组,如下所示:

[2, 6, 4]

骰子、表面、卡片......

关于java - 我如何在java中分割我的输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40170622/

相关文章:

c - 由任何字符分隔的值无法从字符串中正确读取

c - 声音字符串声明挂起 Arduino 编译器

c++ - 如何在C++中存储具有字符串和整数串联的变量

java - 如果未对金额应用任何操作,BigDecimal.doubleValue() 的准确性如何

正则表达式解析 C++ 枚举

regex - 用于注释的正则表达式,但不在 “string”中/不在另一个容器中

java - 查找函数的正则表达式

java - 将 libxml 添加到 Red Hat 中的 Eclipse 项目

java - 不同 Java 版本的不同serialVersionUID

java - 创建包含文本源的唯一字节点的 LinkedList