Java中,"张三丰-22"这个字符串如何拿到数字
时间: 2024-02-13 11:00:43 浏览: 21
你可以使用 Java 的字符串分割方法 split() 来实现。例如,将字符串 "张三丰-22" 中的数字 22 提取出来,可以使用以下代码:
```
String str = "张三丰-22";
String[] arr = str.split("-");
int num = Integer.parseInt(arr[1]);
```
这段代码将字符串按照 "-" 进行分割,得到一个字符串数组 arr,其中 arr[0] 为 "张三丰",arr[1] 为 "22"。然后将 arr[1] 用 parseInt() 方法转换为整数,即可得到数字 22。
相关问题
java set 随机取_Java 随机取字符串的工具类
可以使用Java中的Random类来生成随机数,然后再通过随机数来随机取字符串。以下是一个Java随机取字符串的工具类示例:
```java
import java.util.*;
public class RandomStringUtils {
// 生成指定长度的随机字符串
public static String getRandomString(int length) {
String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
Random random = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < length; i++) {
int index = random.nextInt(str.length());
sb.append(str.charAt(index));
}
return sb.toString();
}
// 随机取字符串数组中的一个字符串
public static String getRandomString(String[] strs) {
Random random = new Random();
int index = random.nextInt(strs.length);
return strs[index];
}
// 随机取Set集合中的一个元素
public static <T> T getRandomElement(Set<T> set) {
Random random = new Random();
int index = random.nextInt(set.size());
Iterator<T> iterator = set.iterator();
for (int i = 0; i < index; i++) {
iterator.next();
}
return iterator.next();
}
}
```
其中,`getRandomString`方法用于生成指定长度的随机字符串,`getRandomString(String[] strs)`方法用于随机取字符串数组中的一个字符串,`getRandomElement(Set<T> set)`方法用于随机取Set集合中的一个元素。
通过正则表达式获取字符串中的姓名
这个问题比较复杂,因为姓名的格式有很多种,例如:“张三”、“张三丰”、“李四·王五”、“李四·王五·赵六”等等。不同的姓名格式需要不同的正则表达式来匹配。
以下是几个常见的姓名格式及其对应的正则表达式:
1. 姓名只有两个汉字,没有别的符号:
```
^[\u4e00-\u9fa5]{2}$
```
2. 姓名有两个以上的汉字,没有别的符号:
```
^[\u4e00-\u9fa5]{2,}$
```
3. 姓名中间有一个“·”符号,表示两个字的姓氏:
```
^[\u4e00-\u9fa5]{1,2}·[\u4e00-\u9fa5]{1,}$
```
4. 姓名中间有一个“·”符号,表示三个字的姓氏:
```
^[\u4e00-\u9fa5]{2,3}·[\u4e00-\u9fa5]{1,}$
```
5. 姓名中间有两个“·”符号,表示三个字的姓氏:
```
^[\u4e00-\u9fa5]{1,2}·[\u4e00-\u9fa5]{1}·[\u4e00-\u9fa5]{1,}$
```
6. 姓名中间有两个“·”符号,表示四个字的姓氏:
```
^[\u4e00-\u9fa5]{2,3}·[\u4e00-\u9fa5]{1}·[\u4e00-\u9fa5]{1,}$
```
需要注意的是,以上正则表达式只适用于中文姓名,对于其他语言的姓名需要另外编写正则表达式。同时,以上正则表达式也存在一定的局限性,可能无法匹配某些复杂的姓名格式。