`
Tony_Lee-S
  • 浏览: 82786 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

依照模式匹配、替换和分隔字符串

阅读更多

可以通过指定某个模式来匹配、替换或分隔一个字符串。这是一种非常有用且功能强大的特性,通常称为正则表达式。
以String类中的matches方法开始。乍一看,matches方法和equals方法非常相似。例如,下面两条语句的值均为true:

"Java”.matches("Java");
"Java".equals("Java");

 

但是,matches方法的功能更强大。它不仅可以匹配定长的字符串,还能匹配一套遵从某种模式的字符串。例如,下面语句的结果均为true:

"Java is fun".matches("Java.*");
"Java is cool".matches("Java.*");
"Java is powerful".matches("Java.*");

 

在前面语句中的"Java.*"是一个正则表达式。它描述的字符串模式是心字符串Java开始的,后面紧跟任意0个或多个字符。这里,子串.*与0个或多个字符相匹配。

方法replaceAll、replaceFirst和split也可以和正则表达式结合在一起使用。例如,下面的语句用字符串NNN替换"a+b$#c"中的$、+或者#,然后返回一个新字符串。

String s = "a+b$#c".replaceAll("[$+#]","NNN");
System.out.println(s);

 

这里的正则表达式[$+#]表示能够匹配$、+或者#的模式。所以,输出是aNNNbNNNNNNc。

下面的语句将字符串分隔为由标点符号分隔开的字符串数组。

String[] tokens = "Java.C?C#,C++".split("[. , : ; ?]");
for(int i = 0, i< tokens.length; i++)
  System.out.println(tokens[ i ]);

这里的正则表达式[. , : : ?]指定的模式是指匹配. , : ;或者?。这里的每个字符都是分隔字母字符串的分隔符。因此,这个字符串就被分割成Java、C、C#和C++,它们都存储在数组tokens中。

 

分享到:
评论

相关推荐

    Java分割字符串

    正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和分割字符串。在Java中,它们由`java.util.regex`包提供支持。例如,如果你想要以逗号为分隔符分割字符串,可以使用`","`作为正则表达式。 ### 3. 分割...

    字符串、字符和正则表达式

    正则表达式是一种强大的文本模式匹配工具,用于搜索、替换和验证字符串。在C#中,正则表达式通过`System.Text.RegularExpressions`命名空间下的`Regex`类来实现。它可以用来检查字符串是否符合特定的模式,或者从中...

    java 分割字符串

    下面是一个简单的例子,演示如何使用`split()`方法以空格为分隔符分割字符串: ```java public class StringDemo_11 { public static void main(String[] args) { String str = "Hello Java 分割字符串 示例"; ...

    js使用split函数按照多个字符对字符串进行分割的方法

    在这段代码中,`/[,_]/`是一个正则表达式,其中`[ ]`表示字符集合,`_`和`,`分别表示字符下划线和逗号,它们都是我们希望作为分隔符来分割字符串的字符。斜杠`/`是正则表达式的界定符,表示定义了一个正则表达式。 ...

    js替换字符串

    该方法可以接受一个正则表达式作为匹配模式,并返回一个新的字符串,其中所有匹配项都被替换为指定的内容。 #### 二、示例代码分析 给定的示例代码展示了如何利用JS对DOM元素中的样式进行替换操作。下面将对该代码...

    Delphi字符串快速替换函数,速度超快 秒杀自带的StringReplace函数

    3. **多线程处理**:对于非常大的字符串,可以将字符串分割成多个部分并使用多线程进行并行替换,从而利用多核处理器的优势。 4. **避免不必要的复制**:在替换过程中,只复制必要的字符,而不是整个字符串。 `Q_...

    逐个替换字符串中的指定字符

    字符串操作包括创建、拼接、分割、查找、替换等。其中,“替换”是常见且非常有用的操作之一,它允许我们修改字符串中的某些部分。例如,在网页开发中,可能需要将用户输入中的某些字符转换为HTML实体,或者在文本...

    CAD VBA 自动替换模块页字符串的宏代码

    这里使用了`SaveAs`方法保存文件,并且通过替换字符串的方式生成新的文件名,确保文件名的唯一性和正确性。 #### 总结 通过本文介绍的宏代码,我们可以实现利用Excel数据自动批量替换CAD文件中的字符串,并生成新...

    js以逗号分隔方式添加删除字符串

    在JavaScript(JS)中,处理字符串是常见的编程任务之一,特别是在构建动态网页和应用程序时。本文将深入探讨如何以逗号或其他自定义分隔符来添加或删除字符串,并且会强调不支持正则表达式中的特殊字符。我们将通过...

    C++数据结构字符串及KMP匹配算法

    这种自定义的字符串类通常会包含一系列操作方法,如拼接(concatenation)、删除(deletion)、截取(sub-string extraction)、转换(conversion)以及匹配和替换(matching and replacement)。这些功能的实现涉及...

    java替换字符串中的符号

    在Java中使用正则表达式进行字符串操作时,理解和运用Unicode属性表达式可以极大地扩展我们的能力,使我们能够更精确地匹配和替换特定类别的字符。通过上述示例,我们可以看到,使用`[\\pP]`这样的表达式,可以有效...

    C#字符串和正则表达式参考手册

    4. 搜索与提取:`Regex.Match()`、`Regex.Matches()`和`Regex.Split()`分别用于查找第一个匹配项、所有匹配项以及根据模式分割字符串。 5. 替换操作:`Regex.Replace(input, pattern, replacement)`用于替换输入...

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

    - **模式匹配**:正则表达式由一系列字符和特殊符号组成,用于定义一个模式,该模式可以匹配特定的字符串。 - **元字符**:如`*`, `+`, `?`, `{}`, `[]`, `\`等,它们具有特殊的含义,用于指定重复次数、选择范围...

    SQL字符串分割

    它通过不断查找并替换分隔符,直到原字符串中不再包含分隔符为止,从而实现字符串的完全分割。这种方式特别适用于分割由逗号等字符分隔的列表。 3. **字符串数组长度获取函数**:`Get_StrArrayLength`函数用于计算...

    vi中实现字符串的替换

    - **使用其他分隔符**:如果需要替换的字符串中包含`/`,可以使用`#`作为分隔符。 - 例如,`:s#well/#good/#`将会把当前行中第一个出现的`well/`替换为`good/`。 - `:%s#/usr/bin#/bin#g`可以把文件中所有路径`/...

    char_comp.rar_字符串匹配_字符串匹配comp

    这个过程常用于判断字符串是否包含特定子串、替换子串、分割字符串等任务。 "char_comp"可能是一个自定义的函数或方法,用于执行这个大小写不敏感的字符串比较。在大多数编程语言中,如Python、Java、C++,都有内置...

    matlab开发-拆分分隔符分隔字符串到矩阵.zip.zip

    此外,MATLAB还提供了其他字符串处理函数,如`strfind`用于查找子字符串,`strrep`用于替换子字符串,以及`regexp`用于正则表达式匹配和拆分。在处理复杂数据结构时,这些工具非常实用。 在实际的MATLAB开发中,...

    判断字符串是否是空

    3. **分割字符串**:`componentsSeparatedByString:`根据指定的分隔符将字符串拆分为数组。 4. **查找子字符串**:`rangeOfString:`可以查找子字符串在原字符串中的位置。 5. **替换子字符串**:`...

    postgresql数字结尾字符串分割排序说明

    ### PostgreSQL数字结尾字符串分割排序详解 #### 功能概述 本文档旨在详细介绍如何通过自定义函数在PostgreSQL数据库中实现一种特殊的排序方式:对于以数字结尾的字符串,首先将其分为两部分,一部分为非数字字符串...

Global site tag (gtag.js) - Google Analytics