林從.txt文件中讀取Java中的字符串說:在Java中從一個字符串currectly切割信息
ë1 2 W1
(有它的IM在一個字符串變量) 現在我想切信息爲3個變量:
v1 = 1
v2 = 2
w = 1
問題是數字可能示例中佔據更多的字節:
E 12 204 W1
我該如何輕鬆將第二,第三和第四個單詞轉化爲不同的變量?
林從.txt文件中讀取Java中的字符串說:在Java中從一個字符串currectly切割信息
(有它的IM在一個字符串變量) 現在我想切信息爲3個變量:
v1 = 1
v2 = 2
w = 1
問題是數字可能示例中佔據更多的字節:
我該如何輕鬆將第二,第三和第四個單詞轉化爲不同的變量?
String src = "E 12 204 W1";
String[] numbers = src.split("\\D+");
int v1 = Integer.parseInt(numbers[1]);
int v2 = Integer.parseInt(numbers[2]);
int w = Integer.parseInt(numbers[3]);
split
的這個特定版本刪除了所有不是數字的東西。第一個元素(numbers[0]
)將是一個空字符串,因此您可以忽略它。其他人將是數字,只有數字,所以你可以安全地將它們解析爲整數(除非你認爲有人會輸入大量數字,例如98798765465498798798754
,在這種情況下,你會得到一個異常,你應該趕上並處理它)。
使用split():
public static void main (String[] args) throws java.lang.Exception
{
String string = "E 12 204 W1";
String[] parts = string.split(" ");
System.out.println(parts[1]);
System.out.println(parts[2]);
System.out.println(parts[3]);
}
有此問題的許多解決方案。訪問String API
查看可滿足您需求的所有方法。
我不會告訴你一個完整的解決方案,但我會盡力引導你。
如果模式是固定的,您可以很容易地編寫一個方法,該方法是字符串並在循環中分配第二,第三和第四個變量。
您還可以構建一個正則表達式,爲您提取所需的字段,例如, \d+\s+\d+\s+\w\d+
。
如果
E 12 204 W1
<token><space><token><space><token><space><token>
0 1 2 3
是您的格式,那麼你可以只split在指數3使用" "
,並獲得與指數1和2的元素,從元素的字符串中刪除龍頭W
非常感謝您的幫助!你解決了它! – Eran 2014-11-22 19:10:31