獲取「----」之間的字符串如果我有一個字符串數組如下:從陣列
String[] name = {"aval", "H ---- ", "Singh", "Sawh", "Gopi", "G ---- ", "parminder", "kaur", "jaspreet", "asneet", " ---- "};
如果字符串「SAWH」用戶搜索。我想要顯示介於「H ----」和「G ----」之間的所有字符串。這就是結果應該顯示「SinghSawhGopi」。我試過如下,但這似乎是錯誤的。我能夠正確地獲得「Sawh」之後的字符串,但之前沒有從「H ----」到「Sawh」。有人對此有何看法?
String keywords = "";
int j = 0, k = 0, m = 0, n = 0;
for(int i = 0; i < name.length; i++){
if(name[i].contains("Sawh")){
for(j = i+1; !name[j].contains(" ---- "); j++){
keywords = keywords + name[j];
k = j;
}
for(j = i+1; !name[j].contains(" ---- "); j++){
keywords = keywords + name[j];
}
}
}
System.out.println(keywords);
您可以在一個解析做到這一點。你能否更詳細地解釋你想要達到什麼目標,以便確定我的建議。 –
我能夠得到碎片,但我想知道是否有任何我不知道的更簡單的方法。 – user3187131
來自一位經驗豐富的程序員的小貼士 - 抓住一張紙和一支筆,準確地記下你的程序的功能(就變量在每個步驟中的變化而言)(或者你可以使用調試器) - 這應該告訴你爲什麼你的代碼不起作用。而且,在你做完這些之後,你應該已經有了一個公平的想法,你需要改變它來修復它(假設你已經考慮過你的程序需要如何去做你想做的事情)。另外'name [j] + keywords'而不是'keywords + name [j]'可能會有所幫助(以防止某些詞的順序相反)。 – Dukeling