0

我是 android 的菜鸟,我在更改字符串时遇到了问题。我有一个从数组列表填充的列表视图。在我的 OnItemClick 方法中,我想将选择的值设为小写,删除空格并删除撇号。但是,我只能将字符串设为小写,而空格和撇号仍然存在。例如,“Bear's Garlic”变成“bear's garlic”而不是“bearsgarilc”。任何帮助是极大的赞赏。

我的代码

String herb_pic = herb_ListView.getItemAtPosition(position).toString().toLowerCase() + "_picture";
                        herb_pic.replaceAll("\\s+", ""); //Not removing whitespaces
                        herb_pic.replace(" ", ""); //Not removing space
                        herb_pic.replace("'", ""); //not removing apostrophe
                        herb_pic.replace(".", ""); //Not removing 
                        Log.e("herb_pic result", herb_pic); 
4

2 回答 2

3

因为在 javaString中是不可变的:

String herb_pic = herb_ListView.getItemAtPosition(position).toString().toLowerCase() + "_picture";
herb_pic = herb_pic.replaceAll("\\s+", ""); //Not removing whitespaces
herb_pic = herb_pic.replace(" ", ""); //Not removing space
herb_pic = herb_pic.replace("'", ""); //not removing apostrophe
herb_pic = herb_pic.replace(".", ""); //Not removing 
Log.e("herb_pic result", herb_pic); 
于 2013-06-10T12:18:14.360 回答
1

因为该replace函数返回一个字符串,其中字符已被替换。

herb_pic = herb_pic.replaceAll("\\s+", "");
于 2013-06-10T12:18:56.880 回答