听说这个split方法比那个StringTokenizer效率高一点,今天刚好用上,就拿来试试,没有想到一试就出问题了,把折分结果打在控制台上,结果居然是空的,我要折分的字符串是“5#1|7#2|11#3”刚用这里str.split("|")时就出问题了,看了下面这篇文章,将其改为str.split("\\|")就OK了,这个|在正则表达式中也是个特殊字符。回头还得弄弄正则表达式了。
public static void main(string[] args) {
string value = "192.168.128.33";
string[] names = value.split(".");
for (int i = 0; i < names.length; i++) {
system.out.println(names[i]);
}
}
运行结果:
对,没看错!没有任何输出!
让我们来看看 split 方法的方法签名吧:
public string[] split(string regex)
这里的参数的名称是 regex ,也就是 regular expression (正则表达式)。这个参数并不是一个简单的分割用的字符,而是一个正则表达式
,看了 split 方法的实现代码就更坚定了我们的信心:
public string[] split(string regex, int limit) {
return pattern.compile(regex).split(this, limit);
}
split 的实现直接调用的 matcher 类的 split 的方法。读者已经知道,“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。
public static void main(string[] args) {
string value = "192.168.128.33";
//注意要加\\,要不出不来,yeah
string[] names = value.split("\\.");
for (int i = 0; i < names.length; i++) {
system.out.println(names[i]);
}
}
输出结果:
192
168
128
33
分享到:
相关推荐
2. **正则表达式中的特殊字符** 特殊字符是具有特定含义的字符,例如`\`用于转义,使得原本具有特殊意义的字符如`(`、`)`、`.`等变成普通字符。其他特殊字符如`\d`代表数字,`\s`代表空白字符,`\w`代表单词字符...
元字符在正则表达式中具有特殊含义,例如`.`代表任意字符,`\d`表示数字,`\w`表示字母或数字,`\s`表示空白字符。这些元字符能够帮助我们构建出复杂的模式,以匹配特定类型的字符串。 在Java中,正则表达式通常与`...
在Java中,你可以使用`matches()`方法来检查一个字符串是否完全符合某个正则表达式模式,`split()`方法将字符串根据正则表达式分割成多个子字符串,以及`replaceAll()`方法替换字符串中符合正则表达式的部分。...
本文将详细介绍如何使用Java中的`split()`方法,并结合正则表达式来处理全角空格和半角空格的问题。 #### 一、背景介绍 在处理文本数据时,经常会遇到不同类型的空格字符。除了最常见的半角空格(ASCII码为32)...
在Java编程语言中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换等操作。本节我们将深入探讨正则表达式工具类`RegUtils`,它封装了正则表达式的常用功能,便于在实际开发中进行复用。 首先,`...
- 当正则表达式中包含贪婪模式时,可能会导致意外的拆分结果。可以使用非贪婪量词`*?`, `+?`, `??`, `{m,n}?`来避免这个问题。 - 在某些情况下,正则表达式可能过于复杂,导致性能下降,应谨慎设计正则模式。 ...
### Java中的正则表达式详解 #### 一、引言 正则表达式是一种非常强大的文本处理工具,它能够帮助开发者高效地进行字符串的搜索、替换等操作。自JDK 1.4版本起,Java便引入了对正则表达式的支持。本文将详细介绍...
正则表达式中,特殊字符需要转义,如`\d`实际是`\D`的反义,所以`\\d`匹配数字。 ### 12. 实例分析 下面是一些Java正则表达式的实例,包括邮箱验证、URL验证等。 ```java String emailRegex = "^[\\w-]+(\\.[\\w-...
通过这些教程,你可以深入理解正则表达式的核心概念,并学习如何在不同语言环境中使用它们。每个文档都可能涵盖特定语言的正则表达式用法和示例,帮助你在实践中提升对正则表达式的掌握。无论是进行简单的文本查找,...
在Java中,我们可以使用`String`类的`matches()`方法结合正则表达式来验证字符串。例如,判断一个字符串是否全由数字组成: ```java if(s.matches("\\d+")) { System.out.println("此字符串全部由数字组成"); } ...
1. 字符类:正则表达式中的字符类用于匹配特定类型的字符,如"."匹配任意字符,"\d"匹配数字,"[abc]"匹配'a'、'b'或'c'。 2. 量词:量词用于指定一个模式应该匹配多少次。例如,"*"表示前面的字符可以出现零次或多...
在Java编程语言中,实现正则表达式解析器可以帮助我们更高效地处理字符串,理解正则表达式的内部工作原理,并且可以自定义扩展其功能。本文将深入探讨Java中正则表达式的相关知识。 首先,Java中的正则表达式主要...
在Java中,你可以使用`Pattern`类来编译正则表达式,并用`Matcher`类来对目标字符串进行匹配操作。 ### 2. 创建正则表达式 在Java中,创建正则表达式通常涉及以下步骤: - 使用`Pattern.compile()`方法编译正则...
本篇文章将深入探讨Java中的正则表达式及其使用实例。 一、Java正则表达式基础 1. 字符类: - `.`:匹配任意单个字符,除了换行符。 - `\d`:匹配数字,等价于`[0-9]`。 - `\D`:匹配非数字字符,等价于`[^0-9]...
- `\\.`: 匹配点号,由于点号在正则表达式中有特殊含义,所以需要用反斜杠转义。 #### 4. 实现代码示例 下面是一个简单的Java程序示例,演示了如何使用正则表达式来验证IP地址的有效性: ```java package RegEx; ...
特殊元字符在正则表达式中有特定的含义,这些字符包括但不限于: - `.`:匹配任意单个字符(除了换行符)。 - `^`:匹配字符串的开始。 - `$`:匹配字符串的结束。 - `*`:匹配前面的元素零次或多次。 - `+`:匹配...
- 示例代码展示如何在Java程序中使用正则表达式进行字符串处理。 9. **性能考虑** - 虽然正则表达式功能强大,但过度复杂的正则可能影响性能。优化正则表达式以提高程序效率。 通过这个主题的学习,你将掌握Java...
Java中的正则表达式是处理字符串的强大工具,它在编程中扮演着不可或缺的角色,尤其是在文本处理、数据验证和模式匹配等方面。这篇博客“java常用正则表达式(转)”可能详细介绍了Java如何使用正则表达式进行各种...
1. 使用`test()`、`match()`、`search()`、`replace()`和`split()`等JavaScript字符串方法与正则表达式配合进行文本操作。 2. 使用全局标志`g`进行全局查找,`i`标志忽略大小写,以及`m`标志使^和$匹配行首和行尾。 ...