有时候,我们的一些业务数据,有些定义的是按某个分割符分割数据,然后一行一行的,处理这种数据时候,要务必小心,因为它简单,不用维护类似json格式的数据或者一个对象,而是直接通过下标位置来访问数据的,相信这种场景大家也都接触过,当然弊端也是显而易见的,如果位置放错或者代码使用不当,都会造成一些问题,所以使用这种方式时,一会都会约定一些内容,比如行分隔符,列分割符等,下面来看一个小问题,先看下面一段代码:
String line1="1#2#3";//期待长度3,结果是3
System.out.println(line1.split("#").length);
String line2="1#2#3##";//期待长度5,实际结果是3 , 有问题?
System.out.println(line2.split("#").length);
运行完,你会发现第二段代码的数组的长度竟然与你想的不一致?为什么?我们来看
官网api解释:
/**
The limit parameter controls the number of times the pattern is applied and therefore affects the length of the resulting array. If the limit n is greater than zero then the pattern will be applied at most n - 1 times, the array's length will be no greater than n, and the array's last entry will contain all input beyond the last matched delimiter. If n is non-positive then the pattern will be applied as many times as possible and the array can have any length. If n is zero then the pattern will be applied as many times as possible, the array can have any length, and trailing empty strings will be discarded.
*/
public String[] split(String regex,int limit)
如果limit是负数,那么它会尽可能匹配到所有的这个数组的个数,如果是0那么尽可能匹配出现的元素,但是空字符串将会被就丢弃,但我们不希望它丢弃,因为丢弃就意味着有业务字段缺失,所以来看下最终的写法:
String line3="1#2#3##";//正确的写法
System.out.println(line3.split("#",-1).length);
分享到:
相关推荐
### JAVA_split_用法详解 在Java编程语言中,`String`类...通过以上介绍和示例,我们可以看到`split()`方法在Java中的强大功能,它能够帮助开发者灵活地处理字符串的分割任务,是Java字符串操作中不可或缺的一部分。
### Java中的split方法详解 #### 一、引言 在Java编程中,字符串处理是非常常见的需求之一。`String`类提供了多种方法来处理字符串,其中`split`方法因其灵活性和强大的分割功能而被广泛使用。本文将深入探讨`...
Java 中 Split 的用法及注意 Java 中的 Split 方法是通过正则表达式来拆分字符串的,它可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回。该方法的语法为 `stringObj.split(regex, [limit])`,其中 `...
如果你不希望这些空白,可以在正则表达式中添加`\b`来匹配边界,或者使用`trim()`方法去除额外的空格。 总的来说,Java中的`split()`方法是处理字符串的强大工具,它利用正则表达式的灵活性来满足各种分割需求。...
文件目录转json格式
通过研究这个程序,初学者可以更深入地了解Java I/O系统,并且能够应用这些知识去解决实际问题,如处理大量数据或优化文件传输。同时,这也是一个很好的实践案例,展示了如何将理论知识转化为实际的编程技能。
在Java编程语言中,`String`类提供了许多用于操作字符串的方法,其中之一便是`split`方法。这个方法在处理文本数据时极为有用,特别是在需要根据特定的分隔符将字符串分割成多个子串的情况下。下面,我们将深入探讨`...
java split()方法实用案例
Java split() 函数使用方法解析 Java split() 函数是 Java 编程语言中一个非常常用的字符串分割函数,它可以将一个字符串按照指定的分隔符分割成多个子字符串,并将其存储在一个字符串数组中。下面我们将详细介绍 ...
标题提到的"split this is a split java develop utils package"很可能是指一个专门处理字符串分隔的Java工具包。这个包可能包含了用于解析、拆分和操作字符串的实用方法,对于日常开发工作非常有用。 描述中的...
Java中的`split()`方法是String类的一个非常重要的成员函数,用于根据给定的正则表达式将一个字符串分割成多个子字符串,并返回一个字符串数组。这个方法在处理文本数据、解析配置文件或从复杂的字符串中提取信息时...
在进行map计算之前,mapreduce会根据输入文件计算输入分片(input split),每个输入分片(input split)针对一个map任务,输入分片(input split)存储的并非数据本身,而是一个分片长度和一个记录数据的位置的数组...
本文将详细介绍如何使用Java中的`split()`方法,并结合正则表达式来处理全角空格和半角空格的问题。 #### 一、背景介绍 在处理文本数据时,经常会遇到不同类型的空格字符。除了最常见的半角空格(ASCII码为32)...
当你遇到上述问题,即最后一个字段后面有多个连续的制表符,但这些空格或制表符没有被正确拆分,你可以通过向 `split()` 方法传递一个额外的参数来解决这个问题: ```java String[] values = line.split("\t", -1);...
`split()` 方法的行为基于Java的正则表达式引擎,它可以处理复杂的模式匹配,包括但不限于字母、数字、特殊字符等。例如,你可以使用 `[a-zA-Z]` 匹配任何字母,`\d` 匹配数字,`[^\w\s]` 匹配非单词字符和非空白...
除了这两个文件,"java 小飞侠"的标签可能指的是一个专门讨论Java技术、分享教程、代码示例或者解答问题的社区或者个人博客。在这个社区或博客中,可能会涵盖各种Java相关的主题,如面向对象编程、集合框架、异常...
Java的`split`方法是String类的一个非常重要的成员函数,用于根据指定的分隔符将字符串分割成多个子字符串,并返回一个字符串数组。这个方法在处理数据时非常有用,例如解析CSV格式的数据或者处理带有固定分隔符的...
虽然`Split`方法非常方便,但处理大量数据时可能会有性能问题。对于大型字符串,可能需要考虑使用其他方法,如正则表达式匹配或自定义分割算法,来提高效率。 综上所述,`Split`方法是C#中处理字符串的强大工具,它...
首先要把字符串分割开用正则中的split方法 * 2,定义一个和字符串数组一样大小的int数组 * 3,把字符串数组转换成数字字符 * 4,排序,用sort方法 * 5,拼接成新的字符串
Java中的`String.split()`方法是处理字符串的强大工具,它能够根据指定的分隔符将一个字符串分割成多个子字符串,并将这些子字符串存储在一个数组中。这个方法在处理文本数据时非常常见,尤其是在解析CSV格式的数据...