我有字符串像",yes,,,,,,,,,,,,,"
其中說option2是從15個選項中選出的。這裏,一個逗號,
代表一個選項;如果它被選中,則會有一些數據代替選項。我需要閱讀這個字符串,並得到確切的選項選擇值。在上面它應該是option2。我該怎麼做?閱讀與多個選項的字符串
我有15個選項在數據庫中從這裏選擇的數據被替換,,
沒有選擇。
或者,換個角度看,有15個字段用逗號分隔。一個字段 - 在這個例子中,第二個字段 - 具有非空值;其他人都是空的。我如何確定第一個非空的字段?
我有字符串像",yes,,,,,,,,,,,,,"
其中說option2是從15個選項中選出的。這裏,一個逗號,
代表一個選項;如果它被選中,則會有一些數據代替選項。我需要閱讀這個字符串,並得到確切的選項選擇值。在上面它應該是option2。我該怎麼做?閱讀與多個選項的字符串
我有15個選項在數據庫中從這裏選擇的數據被替換,,
沒有選擇。
或者,換個角度看,有15個字段用逗號分隔。一個字段 - 在這個例子中,第二個字段 - 具有非空值;其他人都是空的。我如何確定第一個非空的字段?
嘗試String.split( 「」) - 這將返回的String []
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split%28java.lang.String%29
公共類拆分{
public static void main(String [] args) {
String [] options = args[0].split(",",15);
for(int i = 0; i < options.length; i++) {
System.out.printf("option %d = [%s]\n", i, options[i]);
}
}
}
如果您的String
總是遵循您指定的格式,則可以使用String.split()
。例如,
String[] split = ",yes,,,,,,,,,,,,,".split(",");
System.out.format("The chosen data is in Option %d and is '%s'%n", split.length, split[split.length - 1]);
打印
The chosen data is in Option 2 and is 'yes'
如果我理解正確的話,你會得到逗號的字符串和兩個逗號之間不存在像「是」某些文字。您的任務是檢索該單詞的索引,即該單詞前面的逗號(加1)。
首先,對某個選項的編碼是相當愚蠢的,所以如果它存在於你的責任中,請改變它。
簡單的解決方案是計算單詞前面的逗號。
像這樣的東西會做:
String s = ",yes,,,,"
for (int i = 0 , len = s.length() ; i < len ; i++)
if (s.charAt(i) != ',')
return i+1;
throw new Exception ("No option found");
好吧,我想你想在,
分割字符串是這樣的:
String[] options = ",yes,,,,,,,,,,,,,".split(",");
String option2 = options[1]; //yields "yes"
但是,你爲什麼不使用一些更容易理解標記,如option2=yes
等?
看看Apache Commons CLI爲某些庫支持更好的選項。
我不明白是什麼這是你問。 –
你有一個字符串或一個jdbc結果集? – dngfng
你能提供一些更多的上下文,也許是一個小例子嗎?該字符串從哪裏來?你會怎麼處理這些選項? – Thomas