【问题标题】:Java regex split string into different variablesJava 正则表达式将字符串拆分为不同的变量
【发布时间】:2013-11-08 09:52:12
【问题描述】:

我一直在为一个项目进行网络抓取,但我不知道如何将检索到的字符串拆分为不同的变量。 我检索到的字符串数组

K. KAYMAKLI TSK 6 5 0 1 19 4 15 15

YEN?CAM? AK 6 4 1 1 14 7 7 13

MORMENEK?E GB 6 4 0 2 10 7 3 12

LEFKE TSK 6 3 2 1 10 8 2 11

SERDARLI GB 6 2 2 2 6 5 1 8

HAM?TKÖY ?HSK 6 2 2 2 8 8 0 8

ÇET?NKAYA TSK 6 2 2 2 6 7 -1 8

DO?AN TBSK 6 2 2 2 12 15 -3 8

YEN? BO?AZ?Ç? DSK 6 2 1 3 9 8 1 7

B. BA?CIL SK 6 1 4 1 8 9 -1 7

MA?USA TÜRK GÜCÜ 6 2 1 3 7 9 -2 7

C?HANG?R GSK 6 1 3 2 8 8 0 6

GENÇL?K GÜCÜ SK 6 1 0 5 6 14 -8 3

YALOVA SK 6 0 2 4 4 18 -14 2

我想将直到第一个整数(在本例中为 6)之前的字符放入一个字符串中 然后将每个整数转换为单独的变量。 例如。

String team = "YALOVA SK";
int p = 6;
int x = 0;
int y = 2;
int z = 4;
int m = 4;
int n = 18;
int k = -14;
int h = 2;

我能够通过逐个字符检查来拆分字符串以找到第一个整数并在那里拆分它,然后将之后的每个字符分配给一个整数。如何使用正则表达式解决?

注意 ? 是土耳其语字符,无法在控制台上正确显示,但在应用程序中可以正确显示。

【问题讨论】:

    标签: java regex string web-scraping


    【解决方案1】:

    字符串的 split() 方法可用于根据特定的“正则表达式”拆分字符串。有关拆分功能的参考,请查看Oracle java documentation 链接。 Vogella website 中还有一个关于在 java 中使用正则表达式的不错的教程。

    您可以根据'\s'(短空白字符)或'\s+'拆分字符串,然后使用返回的数组。

    语法是这样的。

    String retrievedString = "YALOVA SK 6 0 2 4 4 18 -14 2";
    String[] teamInfo=retrievedString.split("\\s");
    

    您可以使用从网络抓取中检索到的字符串来代替“retrivedString”。

    注意split方法中使用的\\是为了转义\。

    希望这会有所帮助...

    【讨论】:

      【解决方案2】:

      我认为Scanner 课程非常适合您的需求: 描述:http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-10-16
        • 1970-01-01
        • 1970-01-01
        • 2022-01-20
        • 2021-06-17
        • 2011-07-18
        相关资源
        最近更新 更多