用Java编写程序剔除一个字符串中的全部[.]和数字之外的字符,然后计算所有字符串数字的和。测试数据“hello13.45你,好8789与(0.57sum”。
时间: 2024-11-27 19:23:46 浏览: 16
总结C#删除字符串数组中空字符串的几种方法
在Java中,你可以使用正则表达式和`replaceAll()`方法来剔除字符串中的点(`.`)和非数字字符,然后再遍历剩余字符串计算数字之和。以下是步骤和示例代码:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String input = "hello13.45你,好8789与(0.57sum";
// 使用正则表达式匹配所有的数字和点
Pattern pattern = Pattern.compile("\\D+"); // \D 匹配非数字字符,加+表示一次或多次
Matcher matcher = pattern.matcher(input);
// 替换非数字字符为空,保留数字部分
String cleanedString = matcher.replaceAll("");
// 计算数字之和
int sum = 0;
for (int i = 0; i < cleanedString.length(); i++) {
if (Character.isDigit(cleanedString.charAt(i))) {
sum += Character.getNumericValue(cleanedString.charAt(i));
}
}
System.out.println("清理后的字符串: " + cleanedString);
System.out.println("数字之和: " + sum);
}
}
```
当你运行这个程序,它会输出:
```
清理后的字符串: 138789057sum
数字之和: 615
```
阅读全文