Java正则表达式将字符串拆分为不同的变量

时间:2013-11-08 09:52:13

标签: java regex string web-scraping

我一直在为一个项目进行网络抓取,我无法弄清楚如何将检索到的字符串拆分成不同的变量。 我检索过的字符串数组

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;

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

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

2 个答案:

答案 0 :(得分: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");

您可以使用从网页抓取中检索的字符串代替“retrieveString”。

请注意,split方法中使用的\\是转义\。

希望这会有所帮助......

答案 1 :(得分:0)

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