Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-全部替换_Java - Fatal编程技术网

Java-全部替换

Java-全部替换,java,Java,我正在获取所有用户ID,需要删除一些字符。我正在将它们添加到循环中的arraylist中,但它们是以以下格式添加的: "[a1234567]" "[b1234567]" 我想删除任何“或[或],因此它只会离开,例如a1234567 我试过这个: userNumbers.add(link.getUserId().replaceAll("[\"\\[\\]]","") ); 但似乎什么都没发生 String userNumber = "\"[b1234567]\""; System.out.pr

我正在获取所有用户ID,需要删除一些字符。我正在将它们添加到循环中的arraylist中,但它们是以以下格式添加的:

"[a1234567]"
"[b1234567]"
我想删除任何
[
]
,因此它只会离开,例如
a1234567

我试过这个:

userNumbers.add(link.getUserId().replaceAll("[\"\\[\\]]","") );
但似乎什么都没发生

String userNumber = "\"[b1234567]\"";
System.out.println(userNumber.replaceAll("[\"\\[\\]]",""));
输出:
b1234567

你为什么认为什么都没发生

String userNumber = "\"[b1234567]\"";
System.out.println(userNumber.replaceAll("[\"\\[\\]]",""));
更新

注释:对ArrayList执行.toString()会导致这种情况吗

源代码
ArrayList.toString()
(继承自
AbstractCollection
):

公共字符串toString(){
迭代器it=迭代器();
如果(!it.hasNext())
返回“[]”;
StringBuilder sb=新的StringBuilder();
某人附加(“[”);
对于(;;){
E=it.next();
附加(e==这个?”(这个集合):e);
如果(!it.hasNext())
返回sb.append(']').toString();
某人附加(‘,’)。附加(‘’);
}
}
您应该循环收集并打印每一个
字符串
,或者如果您不希望这样的
[“b1234567”]
将它们附加到一个
字符串中

输出:
b1234567

你为什么认为什么都没发生

String userNumber = "\"[b1234567]\"";
System.out.println(userNumber.replaceAll("[\"\\[\\]]",""));
更新

注释:对ArrayList执行.toString()会导致这种情况吗

源代码
ArrayList.toString()
(继承自
AbstractCollection
):

公共字符串toString(){
迭代器it=迭代器();
如果(!it.hasNext())
返回“[]”;
StringBuilder sb=新的StringBuilder();
某人附加(“[”);
对于(;;){
E=it.next();
附加(e==这个?”(这个集合):e);
如果(!it.hasNext())
返回sb.append(']').toString();
某人附加(‘,’)。附加(‘’);
}
}
您应该循环收集并打印每一个
字符串
,或者将它们附加到一个
字符串
,如果您不希望它们像这样
[“b1234567”]
使用以下方法:

userNumbers.add(link.getUserId().replaceAll(.replaceAll("\"\\[|\\]\"", ""));
在这里找到它:

使用以下命令:

userNumbers.add(link.getUserId().replaceAll(.replaceAll("\"\\[|\\]\"", ""));
在这里找到了:

使用replaceAll方法中的
[^a-zA-Z0-9]
RegExp作为参数,则可以删除除
a-z
0-9
,&
a-z
之外的所有字符

因此,输出为:
b1234567

使用replaceAll方法中的
[^a-zA-Z0-9]
RegExp作为参数,则可以删除除
a-z
0-9
,&
a-z
之外的所有字符


因此,输出是:
b1234567

如何从列表中检索?或者列表中输入了什么。我无法将link.getUserId()修改为框架的一部分。如何从列表中检索?或者列表中输入了什么。我无法修改link.getUserId()作为框架的一部分,因为我在一篇文章的正文中传递它,并在另一端作为参数检索它。它的输入类似于:“[b1234567]”。是否执行.toString()在ArrayList上会导致这种情况吗?是的,这可能是我记忆中的原因。因为我在帖子的正文中传递它,并在另一端作为参数检索它。它像:“[b1234567]”一样传入。在ArrayList上执行.toString()会导致这种情况吗?是的,可能是我记忆中的原因。