2012-04-10 41 views
0

映射字符串值我必須處理許多字符串(千),它們在任一兩種格式的如以下:與相應格式

============= Examples of Str============= 
123|S|122.14, 
S,344,122.146 

============================================== 
The format of these strings are 
A|B|C 
B,A,C 

我想他們作爲A=123 B=S C=122.14

A=344B=SC=122.146(其中A,B,C對應於列名,可以加載到sql server db中)

我該怎麼做。

我可以使用split來獲取作爲值的子字符串。如何將這些值與格式進行映射並加載它們?

請幫忙。由於

回答

1

你可以這樣做:

String str = "123|S|122.14,"; 
String[] tokens = str.split("[|,]"); 
String A; 
String B; 
String C; 
if(tokens[0].equalsIgnoreCase("S")) 
{ 
    A = tokens[1]; 
    B = tokens[0]; 
    C = tokens[2]; 
} 
else    
{ 
    A = tokens[0]; 
    B = tokens[1]; 
    C = tokens[2]; 
} 
+0

是行不通的:對於第二個變體,應該是=令牌[1] – 2012-04-10 08:57:37

+0

@AlexeiKaigorodov:你說得對。我錯過了。更新了答案。 – 2012-04-10 09:07:59

0
String[] ABC; 
if(line.contains('|')) { 
    ABC = str.split("|"); 
} else { 
    String[] split = str.split(","); 
    ABC = new Object[] { split[1], split[0], split[2]); 
} 
+0

然後 字符串A = ABC [0],B = ABC [1],C = ABC [2] 如果您願意。 – dpnmn 2012-04-10 09:13:55