我一直在为一个项目进行网络抓取,我无法弄清楚如何将检索到的字符串拆分成不同的变量。 我检索过的字符串数组
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;
我能够通过逐字符检查来分割字符串,找到第一个整数并将其拆分,然后将每个字符分配给一个整数。如何使用正则表达式来解决它?
注意?是土耳其语字符,无法在控制台上正确显示,但在应用程序中正确显示。
答案 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