`

java中的split使用的是正则表达式

阅读更多
听说这个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
分享到:
评论
1 楼 jxausea 2009-12-22  
regex

相关推荐

    JAVA正则表达式大全

    2. **正则表达式中的特殊字符** 特殊字符是具有特定含义的字符,例如`\`用于转义,使得原本具有特殊意义的字符如`(`、`)`、`.`等变成普通字符。其他特殊字符如`\d`代表数字,`\s`代表空白字符,`\w`代表单词字符...

    java_zhengze.rar_正则表达式_正则表达式 java

    元字符在正则表达式中具有特殊含义,例如`.`代表任意字符,`\d`表示数字,`\w`表示字母或数字,`\s`表示空白字符。这些元字符能够帮助我们构建出复杂的模式,以匹配特定类型的字符串。 在Java中,正则表达式通常与`...

    java-正则表达式-正则表达式元素介绍

    在Java中,你可以使用`matches()`方法来检查一个字符串是否完全符合某个正则表达式模式,`split()`方法将字符串根据正则表达式分割成多个子字符串,以及`replaceAll()`方法替换字符串中符合正则表达式的部分。...

    java正则表达式匹配全角空格

    本文将详细介绍如何使用Java中的`split()`方法,并结合正则表达式来处理全角空格和半角空格的问题。 #### 一、背景介绍 在处理文本数据时,经常会遇到不同类型的空格字符。除了最常见的半角空格(ASCII码为32)...

    正则表达式工具类,正则表达式封装,Java正则表达式

    在Java编程语言中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换等操作。本节我们将深入探讨正则表达式工具类`RegUtils`,它封装了正则表达式的常用功能,便于在实际开发中进行复用。 首先,`...

    使用正则表达式拆分字符串

    - 当正则表达式中包含贪婪模式时,可能会导致意外的拆分结果。可以使用非贪婪量词`*?`, `+?`, `??`, `{m,n}?`来避免这个问题。 - 在某些情况下,正则表达式可能过于复杂,导致性能下降,应谨慎设计正则模式。 ...

    java中的正则表达式

    ### Java中的正则表达式详解 #### 一、引言 正则表达式是一种非常强大的文本处理工具,它能够帮助开发者高效地进行字符串的搜索、替换等操作。自JDK 1.4版本起,Java便引入了对正则表达式的支持。本文将详细介绍...

    Java正则表达式详细讲解

    正则表达式中,特殊字符需要转义,如`\d`实际是`\D`的反义,所以`\\d`匹配数字。 ### 12. 实例分析 下面是一些Java正则表达式的实例,包括邮箱验证、URL验证等。 ```java String emailRegex = "^[\\w-]+(\\.[\\w-...

    正则表达式教程合集(各种语言的,超全)

    通过这些教程,你可以深入理解正则表达式的核心概念,并学习如何在不同语言环境中使用它们。每个文档都可能涵盖特定语言的正则表达式用法和示例,帮助你在实践中提升对正则表达式的掌握。无论是进行简单的文本查找,...

    java正则表达式学习

    在Java中,我们可以使用`String`类的`matches()`方法结合正则表达式来验证字符串。例如,判断一个字符串是否全由数字组成: ```java if(s.matches("\\d+")) { System.out.println("此字符串全部由数字组成"); } ...

    Java各种验证的正则表达式

    1. 字符类:正则表达式中的字符类用于匹配特定类型的字符,如"."匹配任意字符,"\d"匹配数字,"[abc]"匹配'a'、'b'或'c'。 2. 量词:量词用于指定一个模式应该匹配多少次。例如,"*"表示前面的字符可以出现零次或多...

    java编写的正则表达式解析器

    在Java编程语言中,实现正则表达式解析器可以帮助我们更高效地处理字符串,理解正则表达式的内部工作原理,并且可以自定义扩展其功能。本文将深入探讨Java中正则表达式的相关知识。 首先,Java中的正则表达式主要...

    java正则表达式

    在Java中,你可以使用`Pattern`类来编译正则表达式,并用`Matcher`类来对目标字符串进行匹配操作。 ### 2. 创建正则表达式 在Java中,创建正则表达式通常涉及以下步骤: - 使用`Pattern.compile()`方法编译正则...

    java正则表达式及例子 pdf

    本篇文章将深入探讨Java中的正则表达式及其使用实例。 一、Java正则表达式基础 1. 字符类: - `.`:匹配任意单个字符,除了换行符。 - `\d`:匹配数字,等价于`[0-9]`。 - `\D`:匹配非数字字符,等价于`[^0-9]...

    java中用正则表达式检测IP地址是否合理

    - `\\.`: 匹配点号,由于点号在正则表达式中有特殊含义,所以需要用反斜杠转义。 #### 4. 实现代码示例 下面是一个简单的Java程序示例,演示了如何使用正则表达式来验证IP地址的有效性: ```java package RegEx; ...

    使用正则表达式的模式匹配

    特殊元字符在正则表达式中有特定的含义,这些字符包括但不限于: - `.`:匹配任意单个字符(除了换行符)。 - `^`:匹配字符串的开始。 - `$`:匹配字符串的结束。 - `*`:匹配前面的元素零次或多次。 - `+`:匹配...

    java正则表达式从入门到精通

    - 示例代码展示如何在Java程序中使用正则表达式进行字符串处理。 9. **性能考虑** - 虽然正则表达式功能强大,但过度复杂的正则可能影响性能。优化正则表达式以提高程序效率。 通过这个主题的学习,你将掌握Java...

    java常用正则表达式(转)

    Java中的正则表达式是处理字符串的强大工具,它在编程中扮演着不可或缺的角色,尤其是在文本处理、数据验证和模式匹配等方面。这篇博客“java常用正则表达式(转)”可能详细介绍了Java如何使用正则表达式进行各种...

    正则表达式学习视频

    1. 使用`test()`、`match()`、`search()`、`replace()`和`split()`等JavaScript字符串方法与正则表达式配合进行文本操作。 2. 使用全局标志`g`进行全局查找,`i`标志忽略大小写,以及`m`标志使^和$匹配行首和行尾。 ...

Global site tag (gtag.js) - Google Analytics