Java 替换字符串中的数字
我有一个数字串,如下所示:Java 替换字符串中的数字,java,string,numbers,Java,String,Numbers,我有一个数字串,如下所示: String digits = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10"; 我需要将小于5的设置为0,其余设置为1 例如,我试过了 digits = digits.replaceAll("[56789]", "1");// etc. 但它似乎不起作用 尝试了已经给出的解决方案,所以我无法让它们工作 如果确实有一个问题可以帮助我,请链接它,我将删除这一个 解决方案 返回数字.replaceAll(“[0-4]”,0”).replaceAll(“
String digits = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10";
我需要将小于5的设置为0,其余设置为1
例如,我试过了
digits = digits.replaceAll("[56789]", "1");// etc.
但它似乎不起作用
尝试了已经给出的解决方案,所以我无法让它们工作
如果确实有一个问题可以帮助我,请链接它,我将删除这一个
解决方案
返回数字.replaceAll(“[0-4]”,0”).replaceAll(“[5-9]”,1”)
这对我来说很有用,但当我把它分开写的时候,它就不起作用了 试试看
digits = digits.replaceAll("([0-4])", "0");
digits = digits.replaceAll("([5-9])", "1")
如果44不应该变成00
digits =digits.replaceAll("\\b([0-4]\\b)", "0");
digits =digits.replaceAll("\\b([5-9]\\b)", "1");
试一试
如果44不应该变成00
digits =digits.replaceAll("\\b([0-4]\\b)", "0");
digits =digits.replaceAll("\\b([5-9]\\b)", "1");
您不能将字符串数组转换为int数组并执行此操作吗
String[] strArray = a.
int[] intArray = new int[strArray.length];
for(int i = 0; i < strArray.length; i++) {
intArray[i] = Integer.parseInt(strArray[i]);
// Here you can implement your business logic
}
您不能将字符串数组转换为int数组并执行此操作吗
String[] strArray = a.
int[] intArray = new int[strArray.length];
for(int i = 0; i < strArray.length; i++) {
intArray[i] = Integer.parseInt(strArray[i]);
// Here you can implement your business logic
}
如果您使用的是Java 8,则可以使用:
String digits = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10";
String result = Arrays.stream(digits.split(",\\s*"))// split with comma and spaces
.map(Integer::valueOf) // parse your string to Integer
.map(i -> i > 0 && i < 5 ? "1" : "0") // if condition is true return 1 else 0
.collect(Collectors.joining(", ")); // collect the result in the end
如果您使用的是Java 8,则可以使用:
String digits = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10";
String result = Arrays.stream(digits.split(",\\s*"))// split with comma and spaces
.map(Integer::valueOf) // parse your string to Integer
.map(i -> i > 0 && i < 5 ? "1" : "0") // if condition is true return 1 else 0
.collect(Collectors.joining(", ")); // collect the result in the end
像这样的东西可能有用
//At the top
import java.lang.StringBuffer;
String digits = "1,2,3,4,5,6,7,8,9";
StringBuffer dig = new StringBuffer(digits);
for(int p = 0; p < dig.length(); p++){
char h = dig.charAt(p);
if(Character.isDigit(h)){
if(h < '5'){
dig.setCharAt(p,'0');
}
else if(h >= '5'){
dig.setCharAt(p,'1');
}
}
}
digits = dig.toString();
System.out.println(digits);
//在顶部
导入java.lang.StringBuffer;
字符串数字=“1,2,3,4,5,6,7,8,9”;
StringBuffer dig=新的StringBuffer(数字);
对于(int p=0;p='5',则为else{
dig.setCharAt(p,'1');
}
}
}
数字=dig.toString();
系统输出打印项次(位数);
StringBuffer提供可变的类似字符串的对象。类似这样的东西可以工作
//At the top
import java.lang.StringBuffer;
String digits = "1,2,3,4,5,6,7,8,9";
StringBuffer dig = new StringBuffer(digits);
for(int p = 0; p < dig.length(); p++){
char h = dig.charAt(p);
if(Character.isDigit(h)){
if(h < '5'){
dig.setCharAt(p,'0');
}
else if(h >= '5'){
dig.setCharAt(p,'1');
}
}
}
digits = dig.toString();
System.out.println(digits);
//在顶部
导入java.lang.StringBuffer;
字符串数字=“1,2,3,4,5,6,7,8,9”;
StringBuffer dig=新的StringBuffer(数字);
对于(int p=0;p='5',则为else{
dig.setCharAt(p,'1');
}
}
}
数字=dig.toString();
系统输出打印项次(位数);
StringBuffer提供可变的类似字符串的对象。返回数字。replaceAll(“[0-4]”,0”)。replaceAll(“[5-9]”,1”)
//这是我发现在这种情况下唯一有效的方法 返回数字.replaceAll([0-4],“0”).replaceAll([5-9],“1”)
//这是我发现在这种情况下唯一有效的方法 你还尝试了哪些其他方法?你想替换数字还是整数(例如,
44
应该替换为00
还是1
)?但这似乎不起作用-请提供一个例子?@帕尔帕廷:如果你找到了答案,你必须接受对你有帮助的答案,这样别人才能找到它helpful@Manasi我已经把对我有用的东西放在了答案部分,但只要我能接受,我的答案就在2天内。你用了其他的方法吗?你想替换数字还是整数(例如,44
应该替换为00
还是1
)?但这似乎不起作用-请提供一个例子?@帕尔帕廷:如果你找到了答案,你必须接受对你有帮助的答案,这样别人才能找到它helpful@Manasi我已经把对我有用的东西放在了答案部分,但只要我能接受我的答案,我就要在2天内完成以上10项00@Julio:帕尔帕廷3没有回答是否将44替换为00。无论如何,我更新了答案,希望这能解决我最终解决的问题:返回数字。replaceAll(“[0-4]”,0”)。replaceAll(“[5-9]”,1”);随着上述10项的增加00@Julio:帕尔帕廷3没有回答是否将44替换为00。无论如何,我更新了答案,希望这能解决我最终解决的问题:返回数字。replaceAll(“[0-4]”,0”)。replaceAll(“[5-9]”,1”);我在解析“@帕尔帕廷3”时遇到了这个错误“到达了文件的结尾。这个错误与我的解决方案无关,你能告诉我们你尝试了什么吗?这对我来说最终解决了:返回数字。replaceAll(“[0-4]”,“0”)。replaceAll([5-9]”,“1”);我在解析“@帕尔帕廷3”时遇到了这个错误“到达了文件的结尾。这个错误与我的解决方案无关,你能告诉我们你尝试了什么吗?这对我来说最终解决了:返回数字。replaceAll(“[0-4]”,“0”)。replaceAll([5-9]”,“1”);不知何故,digits=digits.replaceAll(([0-4]),“0”);数字=数字。replaceAll(([5-9]),“1”)不适用于mesomehow数字=数字。replaceAll(([0-4]),“0”);数字=数字。replaceAll(([5-9]),“1”)对我不起作用