0

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

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;

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

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

4

2 回答 2

1

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

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

语法将是这样的。

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

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

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

希望这可以帮助...

于 2013-11-08T10:47:51.493 回答
0

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

于 2013-11-08T09:57:51.370 回答