2013-05-19 113 views
-1

我有一個我想要解析的框架。它是一個字符串,並且這些字段沒有分隔符,並且長度不同。我怎樣才能得到這些領域(使用Java)?如何解析沒有分隔符的字符串?

例如框架:$ XXYYYU#

我怎樣才能獲得場 'XX', 'YYY' 和 'U' 的內容?

謝謝!

+0

我們可以通過一個例子字符串,因爲答案是最有可能會根據關閉其內容。 – FDinoff

+1

如果你沒有分隔符,你應該至少知道你想要提取的每一個部分的確切長度,我不認爲這是可能的,你將不得不「猜測」什麼是合適的部分提取 – BackSlash

+0

字符串就像例子中的框架一樣。它在.txt文件中,我想解析它以獲取一些字段。 – user2144555

回答

1

如果您知道長度會一致,您可以嘗試使用方法String

例如:

package test; 

public class Main { 

    public static void main(String[] args) { 
     String myString = "$XXYYYU#"; 
     String xx = myString.substring(1, 3); 
     String yyy = myString.substring(3, 6); 
     String u = myString.substring(6, 7); 
     System.out.println(xx + " " + yyy + " " + u); 

    } 
} 

輸出

XX YYY U 
+1

閱讀問題:**這些字段沒有分隔符,並且長度不同** – BackSlash

+0

@BackSlash oops。我的錯! – Mena

+0

@BackSlash,這些字段的長度彼此不同。但是我假設每個字段在每個幀中總是具有相同的長度。如果是這樣,這將起作用。 – user2144555

1

對於這類問題將是最好的迭代字符串和手動解析它。

char lastChar = 0; 
for (int i = 1; i < str.Length - 1; i++) 
{ 
    if (lastChar != str[i]) 
    { 
    System.out.println(); 
    lastChar = str[i]; 
    } 

    System.out.print(str[i]); 
} 

這將產生:

XX 
YYY 
UU