源字符串有n个分隔符,生成的List的size就为n+1,没有内容的元素就为空串("")
/**
* 分解字符串
*
* @param source
* @param delimiter
* @return
*/
public static List<String> splitByStr(String source, String delimiter) {
ArrayList<String> list = new ArrayList<String>();
if (source == null || source.length() == 0) {
return list;
}
if (delimiter == null || delimiter.length() == 0) {
list.add(source);
return list;
}
int fromIndex = 0;
int delimiterLength = delimiter.length();
do {
int index = source.indexOf(delimiter, fromIndex);
if (index == fromIndex) {
list.add("");
} else if (index == -1) {
list.add(source.substring(fromIndex, source.length()));
break;
} else {
list.add(source.substring(fromIndex, index));
}
fromIndex = index + delimiterLength;
} while (true);
return list;
}
分享到:
相关推荐
* static Pattern compile(String regex, int flag):编译模式,参数 regex 表示输入的正则表达式,flag 表示模式类型(Pattern.CASE_INSENSITIVE 表示不区分大小写)。 * Matcher match(CharSequence input):获取...
正则表达式的使用非常广泛,它在文本处理和数据验证方面有着不可替代的作用。理解并掌握正则表达式的知识对于任何一个需要进行文本处理的IT专业人员来说都是非常重要的。因此,无论是在Java、JavaScript还是其他支持...
### 正则表达式基础知识详解 #### 一、正则表达式基础符号解析 学习正则表达式的首要步骤是熟练掌握其基本符号及其含义。以下将详细介绍正则表达式中的几种核心符号及其功能: 1. **`.`(点号)** - **作用**:...
SQL Server 2016之后的版本支持简单的正则表达式功能,例如通过字符串函数如STRING_SPLIT()和STRING_ESCAPE()等来处理简单的文本匹配和替换,但复杂或高级的正则表达式功能可能仍然需要用户自行实现。 需要强调的是...
在Java中,可以使用String类的split()方法,传入一个正则表达式来定义分割的依据。例如,在代码中使用了正则表达式(.)\\1+来定义分割依据,这将去除连续的重复字符。split()方法将返回一个字符串数组,数组的每个...
该方法的优点是可以实现全量替换,不需要使用正则表达式,并且性能较好。 结论 本文对JS字符串替换方法进行了详细的分析和比较。不同的方法都有其优点和缺点,开发者可以根据实际情况选择合适的方法。String....
String对象也提供了用于正则表达式的测试方法。match()方法返回匹配到的子串数组或null,search()方法返回匹配到的模式开始位置的索引,replace()方法用于用指定内容替换匹配到的文本,而split()方法则按照匹配模式...
使用POSIX正则表达式函数时,需要注意的是,大括号、方括号和圆括号等特殊字符如果要作为普通字符进行匹配,需要用反斜线进行转义。 以ereg()函数为例,如果想验证一个文件名是否合法,可以使用以下代码: ```php ...
修复建议:String的split方法传递的参数是正则表达式,正则表达式本身用到的字符需要转义,如:句点符号“.”,美元符号“$”,乘方符号“^”,大括号“{}”,方括号“[]”,圆括号“()” ,竖线“|”,星号“*”,...
不过,如果不需要正则表达式的强大功能,使用explode()可能会更快,因为它不会调用正则表达式引擎。另外,preg_split()函数提供了与Perl兼容的正则表达式语法,通常比split()函数更高效,因此在需要使用正则表达式时...
总结来说,`explode()` 适用于简单基于普通字符串的分割,而 `split()`(或 `preg_split()`)则适用于需要正则表达式进行复杂匹配的情况。在实际开发中,应根据需求选择合适的函数,同时注意正则表达式中的特殊字符...
`sql_regcase()`函数创建一个正则表达式,该表达式在比较时不区分大小写。这个函数在SQL查询中很有用,但已被废弃,可以使用`preg_replace_callback()`结合`strtolower()`或`strtoupper()`实现类似功能。 了解并...
这个程序主要涉及了控制台程序设计、正则表达式用于数据验证、C#编程语言的运用,以及对`goto`语句的理解和应用。下面将详细阐述这些知识点。 首先,控制台程序是基于命令行界面的应用,它通过标准输入(键盘)、...
5. **正则表达式**:如果需要更复杂的解析,可以使用正则表达式来匹配和提取INI文件的结构。 6. **流操作**:如果文件较大,可以使用`FileStream`结合`StreamReader`或`StreamWriter`进行流式读写,以提高性能并...
在PHP编程语言中,`eregi`函数是一个用于执行不区分大小写的正则表达式匹配的函数,但在PHP 5.3版本之后,这个函数被弃用了,因为PHP社区希望统一正则表达式规范,推荐使用更为强大且兼容性更好的`preg_match`函数,...
这种方法虽然简单,但在Java 1.5之后,通常推荐使用`String.split()`方法来替代,因为它更直观且支持正则表达式。 接着是`checkStrIncludeStr`方法,这个方法用于判断一个字符串`S`是否包含另一个字符串`S2`。这里...
这时可以使用正则表达式(`regex`)来实现更加灵活的字符串匹配与分割。例如,可以将`str.split(",")`替换为`str.split("\\s*,\\s*")`来允许逗号前后存在空白字符。 ##### 3.3 异常处理 在实际开发中,还需要考虑到...
然后,利用正则表达式/^[0-9a-fA-F]+$/来验证字符串中的字符是否全部为合法的16进制数。这个方法可以被广泛应用于需要验证颜色值的Web设计场景。 最后,String.reverse()方法用来反转字符串中的字符顺序。它通过...