String str = "==he=llo==";
String[] p = str.split("=");
System.out.println(p.length);
for (String s : p) {
System.out.println(s);
}
这个第一个字符是空,看了看源代码,调用了java.util.regex.Pattern类的split方法
public String[] split(CharSequence input, int limit) {
int index = 0;
boolean matchLimited = limit > 0;
ArrayList<String> matchList = new ArrayList<String>();
Matcher m = matcher(input);
// Add segments before each match found
while(m.find()) {
if (!matchLimited || matchList.size() < limit - 1) {
String match = input.subSequence(index, m.start()).toString();
matchList.add(match);
index = m.end();
} else if (matchList.size() == limit - 1) { // last one
String match = input.subSequence(index,
input.length()).toString();
matchList.add(match);
index = m.end();
}
}
// If no match was found, return this
if (index == 0)
return new String[] {input.toString()};
// Add remaining segment
if (!matchLimited || matchList.size() < limit)
matchList.add(input.subSequence(index, input.length()).toString());
// Construct result
int resultSize = matchList.size();
if (limit == 0) //此处开始把list中从last开始往左直到第一个非空的右边的空串扔掉了
while (resultSize > 0 && matchList.get(resultSize-1).equals(""))
resultSize--;
String[] result = new String[resultSize];
return matchList.subList(0, resultSize).toArray(result);
}
对前面的==和后面的==处理的方式不一样,最终的输出结果为:
引用
4
he
llo
这是不是个bug,他把后面==分割出来的空串忽略了,前面的确没有。
分享到:
相关推荐
String类的intern、split方法 String 类的 intern 方法是一个本地方法,定义如下:public native String intern();该方法返回一个字符串对象的内部化引用,由 String 类维护一个初始为空的字符串的对象池,当 ...
以上就是`String`类的一些常见方法,理解并熟练使用它们对于提升Java编程效率至关重要。在实际开发中,开发者通常会结合这些方法来处理字符串,实现各种文本操作。通过阅读和分析`TestString.java`文件,我们可以...
【Java String类常用方法详解与实战】 在Java编程语言中,`String`类是一个非常重要的类,它代表不可变的字符序列。所有的字符串字面值(例如:"abc")都是`String`类的实例。本篇文章将深入探讨`String`类的一些...
在Java编程语言中,`String`类提供了许多用于操作字符串的方法,其中之一便是`split`方法。这个方法在处理文本数据时极为有用,特别是在需要根据特定的分隔符将字符串分割成多个子串的情况下。下面,我们将深入探讨`...
在Java编程语言中,`String.split()`方法是一个非常实用且强大的工具,用于将字符串分割成字符串数组,基于正则表达式或指定的分隔符。这个方法为处理文本数据提供了极大的灵活性,尤其在解析CSV文件、配置文件或者...
Java中的String类是编程中非常基础且重要的一个类,它代表不可变的字符序列,即一旦创建...掌握这些基本的String类知识和方法对于Java编程至关重要,它们在日常开发中被广泛应用,理解并熟练运用能提高代码质量和效率。
Java 中的 String 类提供了 split 方法来拆分字符串。 1. split(String str) 方法 split 方法将字符串按照指定的分隔符拆分成多个子字符串。如: String string1 = "abc1def1ghi1asd12345"; String result1[] = ...
在Java编程语言中,`String`类提供了许多实用的方法,其中之一就是`split()`。这个方法用于根据指定的分隔符将字符串分割成多个子字符串,并返回一个字符串数组。然而,有时候开发者可能会遇到一个问题,即使用`...
`split()`方法位于`java.lang.String`类中,它的基本语法如下: ```java public String[] split(String regex) ``` 这里的`regex`参数是一个正则表达式,用于定义分隔字符串的规则。正则表达式是一种强大的文本...
### Java中的split方法详解 #### 一、引言 在Java编程中,字符串处理是非常常见的需求之一。`String`类提供了多种方法来处理字符串,其中`split`方法因其灵活性和强大的分割功能而被广泛使用。本文将深入探讨`...
Java 中的字符串 split 方法是 String 类中的一个方法,名为 `split()`。该方法将一个字符串拆分成多个子字符串,并将其存储在一个字符串数组中。 Java 字符串 Split 语法 Java 字符串 split 语法如下所示: ```...
在Java编程语言中,`String` 类是处理字符串的核心类,它包含了大量的方法,使得对字符串的操作变得简单而高效。本篇文章将详细讲解`String`类的一些常用方法,并通过具体的例子来展示它们的用法。 1. **创建String...
以下是对标题和描述中提到的Java String类方法的详细说明: 1. **构造函数**: - `String(byte[] bytes)`: 这个构造函数用于创建一个新字符串,该字符串包含给定字节数组表示的字符。字节按照平台的默认字符集解码...
`String`类还提供了比较和分割字符串的方法,如`equals()`、`compareTo()`、`startsWith()`、`endsWith()`以及`split()`等。这些方法对于字符串的处理非常实用。 对于初学者,理解`String`的不可变性是很重要的。这...
Java String类是Java编程语言中的核心类,它用于表示和操作字符串。由于字符串在编程中极为常见,理解和熟练掌握String类的用法至关重要。在面试中,Java String类的操作和用法经常成为考察的重点。 首先,Java ...
Java 中的 Split 方法是通过正则表达式来拆分字符串的,它可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回。该方法的语法为 `stringObj.split(regex, [limit])`,其中 `stringObj` 是要被分解的字符...
在Java编程语言中,面向对象基础是学习Java的基石,而`String`类则是最常用的类之一,几乎在每一个程序中都会见到它的身影。本章节将深入探讨`String`类的常用方法,帮助你更好地理解和运用这个核心组件。 `String`...
总之,Java中的String类提供了丰富的构造函数和方法,使得我们可以方便地创建、操作和比较字符串。理解并熟练运用这些方法对于进行Java编程,特别是在处理文本信息时,是非常关键的。在准备考试或实际工作中,掌握...
Java中的String类提供了丰富的字符串操作方法,这些方法覆盖了字符串的创建、修改、比较、查找以及格式化等多个方面,极大地方便了Java程序中对字符串的处理。 1. `charAt(int index)`方法用于返回字符串中指定索引...