java 截取字符串前面的数字
时间: 2023-06-22 10:45:14 浏览: 54
可以使用正则表达式来截取字符串前面的数字。具体代码如下:
```java
String str = "123abc";
String num = str.replaceAll("[^\\d]+", "");
System.out.println(num); // 输出:123
```
解释一下,`[^\\d]+` 表示匹配非数字字符,也就是除了数字以外的所有字符,`+` 表示匹配一个或多个。`replaceAll` 方法会将字符串中所有匹配到的非数字字符替换为空字符串,最终得到的 `num` 就是字符串前面的数字。
相关问题
Java怎么截取字符串330100前四位的数字
Java中可以使用substring()方法来截取字符串的一部分,语法如下:
string.substring(int beginIndex, int endIndex)
如果你要截取字符串"330100"的前四位数字,可以这样写:
```
String str = "330100";
String sub = str.substring(0, 4);
```
注意:substring是从beginIndex开始截取,到endIndex结束,但不包括endIndex这个位置的字符
所以这里第一个参数是0,截取起点就是0,第二个参数是4,代表截取到第4位结束
也可以这么写
```
String str = "330100";
String sub = str.substring(0, 4);
```
java正则截取字符串中的手机号
在Java中,可以使用正则表达式来截取字符串中的手机号。下面是一个示例代码:
```java
import java.util.reg.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String args) {
String input = "我的手机号是:13512345678你的手机号是:18887654321";
String regex = "(13|14|15|18)\\d{9}";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
String phoneNumber = matcher.group();
System.out.println("找到手机号:" + phoneNumber);
}
}
}
```
运行以上代码,输出结果为:
```
找到手机号:13512345678
找到手机号:18887654321
```
该代码使用了正则表达式 `(13|14|15|18)\\d{9}` 来匹配手机号。其中 `(13|14|15|18)` 表示手机号的前两位可能是13、14、15或18,`\\d{9}` 表示后面跟着9个数字。通过 `Pattern.compile(regex)` 创建一个正则表达式的模式,然后使用 `matcher.group()` 方法来获取匹配到的手机号。