Android使用正则表达式去掉字符串中非数字字符,但是保留":"
时间: 2023-11-27 21:03:29 浏览: 28
要使用正则表达式去掉字符串中的非数字字符但保留冒号(":"),你可以使用 `replaceAll()` 方法结合正则表达式来实现。以下是一个示例:
```java
String input = "12:3abc45:6";
String result = input.replaceAll("[^\\d:]", "");
```
在上述代码中,`replaceAll()` 方法使用了正则表达式 `[^\\d:]`,该正则表达式表示匹配除了数字和冒号之外的任意字符。通过将匹配到的部分替换为空字符串,我们就可以去掉非数字字符,只保留冒号。
最后,`result` 变量将存储处理后的结果字符串。
通过这种方式,你可以使用正则表达式去掉字符串中的非数字字符,但保留冒号。请注意,这里假设字符串中只有一个冒号。如果字符串中有多个冒号,并且你想保留全部冒号,可以根据需要进行修改正则表达式。
相关问题
Android去掉字符串中非数字字符,但是保留":"
要去掉字符串中的非数字字符但保留冒号(":"),你可以使用正则表达式或循环遍历的方式,并进行相应的判断。以下是一种方法:
```java
String input = "12:3abc45:6";
StringBuilder result = new StringBuilder();
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (Character.isDigit(c) || c == ':') {
result.append(c);
}
}
String finalResult = result.toString();
```
在上述代码中,我们使用一个循环遍历字符串的每个字符。通过 `Character.isDigit()` 方法检查字符是否为数字字符,如果是,则将其添加到结果字符串中。同时,我们还检查字符是否为冒号,如果是,则同样将其添加到结果字符串中。
最后,我们将结果字符串转换为最终的字符串结果。
通过这种方式,你可以去掉字符串中的非数字字符,但保留冒号。注意,这里假设字符串中只有一个冒号。如果字符串中有多个冒号,并且你想保留全部冒号,可以根据需要进行修改。
Android去掉字符串中非数字字符
要去掉字符串中的非数字字符,你可以使用正则表达式或循环遍历的方式。以下是两种常见的方法:
1. 使用正则表达式:
```java
String input = "123abc456";
String result = input.replaceAll("\\D", "");
```
在上述代码中,我们使用 `replaceAll()` 方法以正则表达式 `\\D` 替换所有非数字字符为空字符串。结果将只包含数字字符。
2. 使用循环遍历方式:
```java
String input = "123abc456";
StringBuilder result = new StringBuilder();
for (int i = 0; i < input.length(); i++) {
if (Character.isDigit(input.charAt(i))) {
result.append(input.charAt(i));
}
}
String finalResult = result.toString();
```
在上述代码中,我们使用一个循环遍历字符串的每个字符。通过 `Character.isDigit()` 方法检查字符是否为数字字符,如果是,则将其添加到一个 StringBuilder 中。最后,通过调用 `toString()` 方法将 StringBuilder 转换为最终的字符串结果。
无论是使用正则表达式还是循环遍历方式,都可以去掉字符串中的非数字字符,得到只包含数字的字符串结果。