Android使用正则表达式去掉字符串中非数字字符,但是保留":"
时间: 2023-11-27 07:03:29 浏览: 128
要使用正则表达式去掉字符串中的非数字字符但保留冒号(":"),你可以使用 `replaceAll()` 方法结合正则表达式来实现。以下是一个示例:
```java
String input = "12:3abc45:6";
String result = input.replaceAll("[^\\d:]", "");
```
在上述代码中,`replaceAll()` 方法使用了正则表达式 `[^\\d:]`,该正则表达式表示匹配除了数字和冒号之外的任意字符。通过将匹配到的部分替换为空字符串,我们就可以去掉非数字字符,只保留冒号。
最后,`result` 变量将存储处理后的结果字符串。
通过这种方式,你可以使用正则表达式去掉字符串中的非数字字符,但保留冒号。请注意,这里假设字符串中只有一个冒号。如果字符串中有多个冒号,并且你想保留全部冒号,可以根据需要进行修改正则表达式。
相关问题
js正则表达式截取字符串中非数字内容
你可以使用正则表达式来截取一个字符串中的非数字内容。以下是一个示例代码:
```javascript
var str = "1234567890abcde";
var nonDigits = str.replace(/\d+/g, "");
console.log(nonDigits); // 输出 "abcde"
```
在这个示例中,我们使用 `replace` 函数来将字符串中的数字替换为空字符串。正则表达式 `/\d+/g` 匹配一个或多个数字,然后 `replace` 函数将其替换为空字符串。这样就可以得到一个只包含非数字内容的字符串。
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()` 方法检查字符是否为数字字符,如果是,则将其添加到结果字符串中。同时,我们还检查字符是否为冒号,如果是,则同样将其添加到结果字符串中。
最后,我们将结果字符串转换为最终的字符串结果。
通过这种方式,你可以去掉字符串中的非数字字符,但保留冒号。注意,这里假设字符串中只有一个冒号。如果字符串中有多个冒号,并且你想保留全部冒号,可以根据需要进行修改。
阅读全文