Java 将空字符串替换为空字符串
我有个小问题,但我很难解决 我构建了一个字符串,它是一些对象属性的集合,由Java 将空字符串替换为空字符串,java,regex,string,replace,Java,Regex,String,Replace,我有个小问题,但我很难解决 我构建了一个字符串,它是一些对象属性的集合,由|构造和分隔。但每当我有一些null属性时,它就会继续打印null,我想用空字符串替换null 例如,对于输入 ADS||abc||null||null 我希望它变成 ADS||abc|||| 我试过这两种,但都不管用: string.replace(null,"") string.replace("null","") 有人能帮忙吗?由于字符串是不可变的,您应该将字符串变量分配给replace方法的结果 String
|
构造和分隔。但每当我有一些null
属性时,它就会继续打印null
,我想用空字符串替换null
例如,对于输入
ADS||abc||null||null
我希望它变成
ADS||abc||||
我试过这两种,但都不管用:
string.replace(null,"")
string.replace("null","")
有人能帮忙吗?由于字符串是不可变的,您应该将字符串变量分配给
replace
方法的结果
String str = "ADS||abc||null||null to become ADS||abc||||";
str = str.replace("null", "");
System.out.println(str);
输出:
ADS||abc|||| to become ADS||abc||||
你是说下面的代码
String[] names = new String("ADS||abc||null||null to become ADS||abc||||").split("\\|\\|");
List<String> list = new ArrayList<>();
for (String name : names) {
list.add(name.replace("null", ""));
}
String[]names=新字符串(“ADS | | abc | | null | | | null变为ADS | | abc | | | |”)。拆分(“\\\\\\\\\\\\”;
列表=新的ArrayList();
for(字符串名称:名称){
list.add(name.replace(“null”和“));
}
这很好用
public static void main(String[] args) {
String s = "ADS||abc||null||null";
s = s.replace("null", "");
System.out.println(s);
}
输出
ADS||abc||||
您忘记了字符串是不可变的,请将其添加到代码中:
String string = string.replace("null","");
不,它应该是| | | | | | | | | | | | | |您是否将字符串设置为
replace()
的结果?例如,string=string.replace(“null”和“”)
(您需要这样做,因为字符串是不可变的)如上所述,Javastring
对象是不可变的。您可以基于现有字符串创建新字符串,但无法更改现有的字符串本身。谢谢!我忘记了这个简单而愚蠢的错误,它起作用了。谢谢大家。这是一个问题,如果字符串为空,我们只需要做一些验证,用“”替换它,而不是替换“空”。但现在,它工作得很好。还有其他更简单的方法吗?谢谢大家提出这个问题