String str = "a,b","c,d","1,2","5.6";
在上面我想删除双引号内的逗号。我的结果应该是
str = "ab","cd","12","5.6".
我经常搜索得到答案。如果你可以帮助我JAVA,那就太好了。
答案 0 :(得分:3)
首先,您的String[] replaceArray = {"a,b","c,d","1,2","5.6"};
for(int i=0; i<replaceArray.length; i++){
replaceArray[i] = replaceArray[i].replaceAll(",","");
}
无法编译。它应该是
String str
要在双引号内替换String str = "\"a,b\",\"c,d\",\"1,2\",\"5.6\"";
,您需要
,
输出:
System.out.println(str.replaceAll("(\".?),(.?\")", "$1$2"));
以上解决方案假设您在双引号内的"ab","cd","12","5.6"
两侧始终有1个字符或没有字符。
如果可以有多个字符,也可以使用下面的表达式匹配
,
此处System.out.println(str.replaceAll("(\"\\w*),(\\w*\")", "$1$2"));
是预定义的字符类,以匹配\w
希望这有帮助
答案 1 :(得分:2)
我认为您应该使用字符串数组并单独替换所有元素:
double employeeclass::Employee::grosspay(void) const;
答案 2 :(得分:1)
也许有点难看,但你可以使用两次String#replace
- 第一次删除所有逗号,第二次在引号之间重新添加逗号:
String str = "\"a,b\",\"c,d\",\"1,2\",\"5.6\"";
System.out.println(str.replace(",", "").replace("\"\"", "\",\""));
输出:
"ab","cd","12","5.6"
也许更好的方法是使用正则表达式一次完成同样的目标,但说实话并不是我的专业知识。
答案 3 :(得分:0)
运行此代码
String str = "\"a,b\",\"c,d\",\"1,2\",\"5,6\"";
str=str.replace("\"","");
String[] parts = str.split(",");
String outputString="";
int literalCount=2;
String output="";
for (String part : parts) {
if(literalCount==0) {
outputString=outputString+output+",";
output = part;
literalCount=2;
}else
{
output+=part;
}
literalCount--;
}
outputString="\""+outputString+output+"\"";
System.out.println(outputString);