java中字符串按指定长度拆分成数组的方法
时间: 2024-05-14 09:19:32 浏览: 226
Java中可以使用split方法将字符串按指定长度拆分成数组。可以使用下面的代码实现该功能:
```
public static String[] splitString(String s, int len) {
int chunks = s.length() / len + ((s.length() % len == 0) ? 0 : 1);
String[] arr = new String[chunks];
for (int i = 0; i < chunks; i++) {
int start = i * len;
int end = Math.min(start + len, s.length());
arr[i] = s.substring(start, end);
}
return arr;
}
```
其中,s是要拆分的字符串,len是指定的长度。函数返回一个字符串数组,每个元素都是长度为len(最后一段可能小于len)的字符串。
相关问题
String 字符串拆分成数组
字符串拆分成数组可以使用split方法。该方法接受一个正则表达式作为参数,以该正则表达式所表示的字符串为分隔符,将字符串拆分成字符串数组。例如,如果要将逗号分隔的字符串拆分成数组,可以使用以下代码:
```java
String str = "A,B,C,D";
String\[\] arr = str.split(",");
System.out.println(Arrays.toString(arr));
```
输出结果为:\[A, B, C, D\]。这样就将字符串成功拆分成了数组。\[1\]
如果字符串中间有缺失值或者字符串末尾有缺失值,可以使用split方法的重载形式,指定数组的长度和以空白填充缺失值。例如:
```java
String str1 = "A,B,C,D";//正常字符串
String str2 = "A,B,,D"; //字符串中间少值
String str3 = "A,B,C,"; //字符串后面少值
String\[\] arr1 = str1.split(",", 4);
String\[\] arr2 = str2.split(",", 4);
String\[\] arr3 = str3.split(",", 4);
System.out.println("数组arr1:" + Arrays.toString(arr1) + " 数组长度:" + arr1.length);
System.out.println("数组arr2:" + Arrays.toString(arr2) + " 数组长度:" + arr2.length);
System.out.println("数组arr3:" + Arrays.toString(arr3) + " 数组长度:" + arr3.length);
```
输出结果为:
数组arr1:\[A, B, C, D\] 数组长度:4
数组arr2:\[A, B, , D\] 数组长度:4
数组arr3:\[A, B, C\] 数组长度:3 \[2\]
需要注意的是,如果不指定数组长度,当字符串中有缺失值时,会导致数组越界异常(ArrayIndexOutOfBoundsException)。\[3\]
#### 引用[.reference_title]
- *1* *2* *3* [String类的split方法,字符串分割成数组](https://blog.csdn.net/Echo_width/article/details/79716164)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文