如何在Java中获取字符串中双引号之间的字符串

巴图汉·雅曼(Batuhan Yaman)

例如,输入将如下所示:

AddItem rt456 4  12 BOOK “File Structures” “Addison-Wesley” “Michael Folk”

我想使用扫描仪读取所有内容并将其放入数组中。

喜欢:

   info[0] = rt456
   info[1] = 4
   ..
   ..
   info[4] = File Structures
   info[5] = Addison-Wesley

那么如何获取引号之间的字符串?

编辑:我的代码的一部分->

public static void main(String[] args) {
            String command;
        String[] line = new String[6];
        Scanner read = new Scanner(System.in);
        Library library = new Library();

        command = read.next();

        if(command.matches("AddItem"))
        {
            line[0] = read.next(); // Serial Number
            line[1] = read.next(); // Shelf Number
            line[2] = read.next(); // Shelf Index
            command = read.next(); // Type of the item. "Book" - "CD" - "Magazine"

            if(command.matches("BOOK"))
            {
                line[3] = read.next(); // Name
                line[4] = read.next(); // Publisher
                line[5] = read.next(); // Author

                Book yeni = new Book(line[0],Integer.parseInt(line[1]),Integer.parseInt(line[2]),line[3],line[4],line[5]);


    }
    }
}

所以我用read.next读取不带引号的字符串。

通过使用REGEX AS解决

read.next("([^\"]\\S*|\".+?\")\\s*");
劳尔·吉乌(Raul Guiu)

一种使用凌乱的正则表达式的替代方法:

public static void main(String[] args) throws Exception {
    Pattern p = Pattern.compile("^(\\w*)[\\s]+(\\w*)[\\s]+(\\w*)[\\s]+(\\w*)[\\s]+(\\w*)[\\s]+[“](.*)[”][\\s]+[“](.*)[”][\\s]+[“](.*)[”]");
    Matcher m = p.matcher("AddItem rt456 4  12 BOOK “File Structures” “Addison-Wesley” “Michael Folk”");

    if (m.find()) {
        for (int i=1;i<=m.groupCount();i++) {
            System.out.println(m.group(i));
        }
    }
}

打印:

AddItem
rt456
4
12
BOOK
File Structures
Addison-Wesley
Michael Folk

我认为引号是您在问题“”而不是“”中键入引号时使用的引号,因此不需要转义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Java中的<>之间获取字符串

来自分类Dev

ANTLRv4:如何读取字符串中的双引号转义双引号?

来自分类Dev

如何在Java中的两个字符之间获取字符串?

来自分类Dev

如何在Java中的两个字符之间获取字符串?

来自分类Dev

如何在Java中的两个字符之间获取字符串?

来自分类Dev

在双引号之间替换字符串中的字符

来自分类Dev

如何从字符串中删除单引号或双引号?

来自分类Dev

如何在字符串的两个相同字符之间获取字符串-在vb.net中

来自分类Dev

在双引号之间获取字符串,并使文本之间保持中间

来自分类Dev

字符串中的双双引号

来自分类Dev

从字符串中删除双引号

来自分类Dev

当双引号出现时如何在Java中结束字符串

来自分类Dev

如何在Java中的JSON解析器的字符串中转义双引号

来自分类Dev

获取单引号或双引号之间的字符串

来自分类Dev

如何在JavaScript中获取字符串的货币

来自分类Dev

如何在php中获取字符串的结尾?

来自分类Dev

从相似唱歌之间的字符串中获取字符

来自分类Dev

如何从Java中的DataInputStream获取字符串?

来自分类Dev

如何从java列表中获取字符串值

来自分类Dev

如何确保多行字符串中的双引号

来自分类Dev

如何从字符串中删除对斜杠+双引号?

来自分类Dev

如何替换字符串中的双引号?

来自分类Dev

如何避免在双引号字符串中打印变量

来自分类Dev

如何从字符串中删除双引号

来自分类Dev

如何使用转义匹配双引号中的字符串?

来自分类Dev

如何在Python中获取字符串的所有连续子字符串?

来自分类Dev

如何在特定字符串中获取字符串?

来自分类Dev

如何在bash脚本中转义双引号字符串中的单引号?

来自分类Dev

如何在oracle中的下划线之间获取字符串值

Related 相关文章

  1. 1

    如何在Java中的<>之间获取字符串

  2. 2

    ANTLRv4:如何读取字符串中的双引号转义双引号?

  3. 3

    如何在Java中的两个字符之间获取字符串?

  4. 4

    如何在Java中的两个字符之间获取字符串?

  5. 5

    如何在Java中的两个字符之间获取字符串?

  6. 6

    在双引号之间替换字符串中的字符

  7. 7

    如何从字符串中删除单引号或双引号?

  8. 8

    如何在字符串的两个相同字符之间获取字符串-在vb.net中

  9. 9

    在双引号之间获取字符串,并使文本之间保持中间

  10. 10

    字符串中的双双引号

  11. 11

    从字符串中删除双引号

  12. 12

    当双引号出现时如何在Java中结束字符串

  13. 13

    如何在Java中的JSON解析器的字符串中转义双引号

  14. 14

    获取单引号或双引号之间的字符串

  15. 15

    如何在JavaScript中获取字符串的货币

  16. 16

    如何在php中获取字符串的结尾?

  17. 17

    从相似唱歌之间的字符串中获取字符

  18. 18

    如何从Java中的DataInputStream获取字符串?

  19. 19

    如何从java列表中获取字符串值

  20. 20

    如何确保多行字符串中的双引号

  21. 21

    如何从字符串中删除对斜杠+双引号?

  22. 22

    如何替换字符串中的双引号?

  23. 23

    如何避免在双引号字符串中打印变量

  24. 24

    如何从字符串中删除双引号

  25. 25

    如何使用转义匹配双引号中的字符串?

  26. 26

    如何在Python中获取字符串的所有连续子字符串?

  27. 27

    如何在特定字符串中获取字符串?

  28. 28

    如何在bash脚本中转义双引号字符串中的单引号?

  29. 29

    如何在oracle中的下划线之间获取字符串值

热门标签

归档