我有串說:「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. Java忽略字符串
- 2. 如何inteligently concat兩個字符串,以便忽略重複的子字符串
- 3. SPARQL中字符串匹配時如何忽略重音字符
- 4. 如何重複將文本追加到C中的字符串?
- 5. PowerShell的追加字符串.txt文件,而忽略空格
- 6. 如何在android中追加字符串?
- 7. 如何在iPhone中追加字符串?
- 8. 如何追加\字符串?
- 9. 如何追加字符串
- 10. Java到json字符串忽略空值
- 11. 忽略字符串中的octalescape字符
- 12. 追加本地字符的字符串時,重複發現
- 13. 如何忽略空字符串輸出
- 14. Highcharts:如何忽略標題字符串
- 15. 如何忽略istream的字符串\ n
- 16. 加載() - 忽略給定的字符串
- 17. 在java比較字符串忽略特殊字符
- 18. 刪除重複項,而忽略字符串的開頭
- 19. 流利NHibernation唯一的字符串映射(忽略重複)
- 20. 如何JSON字符串追加在AngularJS
- 21. 如何追加\和「」字符串在Lua
- 22. 如何在OCaml中將字符追加到字符串中?
- 23. 忽略某些字符串
- 24. PHP忽略字符串
- 25. 忽略字符串輸入
- 26. 忽略查詢字符串
- 27. 忽略字符串匹配
- 28. 如何在Perl中比較字符串時忽略重音符號?
- 29. 忽略字符串中的換行符
- 30. 如何忽略字符串中的字符
次要的:名字「追加」有一個完善的意義,這與此不同。我會建議像「appendIfNotPresent」。 – CPerkins 2009-09-23 12:04:44
好主意,我修正了 – 2009-09-23 12:09:43