我有串說:「ABC,d」,現在我希望寫的方法append(initialStr, currStr)
其追加currStr
到initailStr
只有currstr是不是已經存在於initialStr
。我嘗試了一種用逗號分割的方法,但由於我的字符串中包含逗號,所以該方法對我不起作用。任何幫助將不勝感激。在java中,如何追加字符串忽略重複
4
A
回答
6
String appendIfNotPresent(String initial, String curr)
{
if (initial.contains(curr))
return initial;
else
return initial + curr;
}
0
一種選擇是使用indexOf()
來確定一個字符串是否包含在另一個字符串中。
int i = initialStr.indexOf(currStr)
if(i != -1){
//go ahead and concatenate
}
0
您可以使用indexOf
來搜索currStr。如果indexOf
方法返回-1,則不匹配。任何其他號碼將是子串的起始位置。
if(initialStr.indexOf(currStr) == -1) {
initialStr += currStr;
}
另外,如果情況不要緊,你可以添加toLowerCase()或toUpperCase()上面的代碼示例:
if(initialStr.toLowerCase().indexOf(currStr.toLowerCase()) == -1) {
initialStr += currStr;
}
如果你有大量的字符串操作來執行,我建議查看Apache Commons Lang庫中的StringUtils類。它提供了很多有用的方法。這裏是一個鏈接到API:http://commons.apache.org/lang/api-release/org/apache/commons/lang/StringUtils.html
2
我會寫像這樣,以使其成爲null
值工作:
String appendIfNotContained(String initial, String curr) {
if (initial == null) {
return curr;
} else if (curr == null) {
return initial;
} else {
return initial.contains(curr) ? initial : initial + curr;
}
}
+0
爲什麼downvote? – JRL 2009-09-23 13:32:49
相關問題
- 1. 如何inteligently concat兩個字符串,以便忽略重複的子字符串
- 2. SPARQL中字符串匹配時如何忽略重音字符
- 3. PowerShell的追加字符串.txt文件,而忽略空格
- 4. 如何在iPhone中追加字符串?
- 5. 如何在android中追加字符串?
- 6. 忽略字符串中的octalescape字符
- 7. 如何忽略空字符串輸出
- 8. 加載() - 忽略給定的字符串
- 9. 刪除重複項,而忽略字符串的開頭
- 10. 如何JSON字符串追加在AngularJS
- 11. 如何在OCaml中將字符追加到字符串中?
- 12. 忽略查詢字符串
- 13. 忽略字符串輸入
- 14. 如何在Perl中比較字符串時忽略重音符號?
- 15. 如何忽略字符串中的字符
- 16. sed - 如何忽略字符串中的許多特殊字符
- 17. 如何忽略重複 「_id」 和MongoDB中
- 18. 如何使用java刪除字符串中的重複字符?
- 19. 追加字符串
- 20. 追加在字符串
- 21. 如何在Java/Scala中忽略流中的無效字符?
- 22. For循環字符串忽略字符
- 23. 如何忽略{字符?
- 24. 如何搜索字符串忽略重音字符(例如A = A)
- 25. Android/Java追加字符串+ int
- 26. 的java字符串追加不工作
- 27. 如何在Java中省略字符串的第一個字符?
- 28. 重複鍵忽略?
- 29. Jooq - 忽略重複
- 30. 忽略字符串比較中的重音字母
次要的:名字「追加」有一個完善的意義,這與此不同。我會建議像「appendIfNotPresent」。 – CPerkins 2009-09-23 12:04:44
好主意,我修正了 – 2009-09-23 12:09:43