Java正则表达式之split()方法实例详解

本文实例讲述了Java正则表达式之split()方法。分享给大家供大家参考,具体如下:

1、方法介绍

(1)public String[] split(String regex) 根据给定正则表达式的匹配拆分此字符串

(2)public String[] split(String regex,int limit) 根据匹配给定的正则表达式来拆分此字符串

2、方法实例

/**
 * @Title:Split.java
 * @Package:com.you.data
 * @Description:Java split()方法
 * @Author: 游海东
 * @date: 2014年3月17日 下午7:13:37
 * @Version V1.2.3
 */
package com.you.data;
/**
 * @类名:Split
 * @描述:1、split(String regex)
 *     根据给定正则表达式的匹配拆分此字符串
 *
 *   2、split(String regex, int limit)
 *     根据匹配给定的正则表达式来拆分此字符串。
 * @Author:游海东
 * @date: 2014年3月17日 下午7:13:37
 */
public class Split
{
  /**
   * @Title : main
   * @Type : Split
   * @date : 2014年3月17日 下午7:13:37
   * @Description : 1、 public String[] split(String regex)
   *        该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。
   *        因此,所得数组中不包括结尾空字符串。
   *
   *        2、public String[] split(String regex,int limit)
   *        此方法返回的数组包含此字符串的子字符串,每个子字符串都由另一个
   *        匹配给定表达式的子字符串终止,或者由此字符串末尾终止。数组中的
   *        子字符串按它们在此字符串中出现的顺序排列。如果表达式不匹配输入
   *        的任何部分,那么所得数组只具有一个元素,即此字符串。
   * @param args
   */
  public static void main(String[] args)
  {
    /**
     * 声明一个字符串str1
     */
    String str1 = "ui78,8huh,jf87,uie8,ujkdf90,hu67ghj,894ghk";
    /**
     * 声明字符串数组str2
     */
    String[] str2 = str1.split(",");
    /**
     * 遍历字符串数组
     */
    for(int i = 0;i<str2.length;i++)
    {
      System.out.println("第" + i + "个:" + str2[i]);
    }
    System.out.println("\n" + "---------------------------------" + "\n");
    /**
     * 声明字符串数组str3
     */
    String[] str3 = str1.split(",",1);
    /**
     * 遍历字符串数组str3
     */
    for(int i = 0;i<str3.length;i++)
    {
      System.out.println("第" + i + "个:" + str3[i]);
    }
    System.out.println("\n" + "---------------------------------" + "\n");
    /**
     * 声明字符串数组str4
     */
    String[] str4 = str1.split(",",2);
    /**
     * 遍历字符串数组str4
     */
    for(int i = 0;i<str4.length;i++)
    {
      System.out.println("第" + i + "个:" + str4[i]);
    }
    System.out.println("\n" + "---------------------------------" + "\n");
    /**
     * 声明字符串数组str5
     */
    String[] str5 = str1.split(",",3);
    /**
     * 遍历字符串数组str5
     */
    for(int i = 0;i<str5.length;i++)
    {
      System.out.println("第" + i + "个:" + str5[i]);
    }
    System.out.println("\n" + "---------------------------------" + "\n");
    /**
     * 声明字符串数组str6
     */
    String[] str6 = str1.split(",",4);
    /**
     * 遍历字符串数组str6
     */
    for(int i = 0;i<str6.length;i++)
    {
      System.out.println("第" + i + "个:" + str6[i]);
    }
    System.out.println("\n" + "---------------------------------" + "\n");
    /**
     * 声明字符串数组str7
     */
    String[] str7 = str1.split(",",5);
    /**
     * 遍历字符串数组str7
     */
    for(int i = 0;i<str7.length;i++)
    {
      System.out.println("第" + i + "个:" + str7[i]);
    }
    System.out.println("\n" + "---------------------------------" + "\n");
    /**
     * 声明字符串数组str8
     */
    String[] str8 = str1.split(",",6);
    /**
     * 遍历字符串数组str8
     */
    for(int i = 0;i<str8.length;i++)
    {
      System.out.println("第" + i + "个:" + str8[i]);
    }
  }
}

3、实例结果

第0个:ui78
第1个:8huh
第2个:jf87
第3个:uie8
第4个:ujkdf90
第5个:hu67ghj
第6个:894ghk

---------------------------------

第0个:ui78,8huh,jf87,uie8,ujkdf90,hu67ghj,894ghk

---------------------------------

第0个:ui78
第1个:8huh,jf87,uie8,ujkdf90,hu67ghj,894ghk

---------------------------------

第0个:ui78
第1个:8huh
第2个:jf87,uie8,ujkdf90,hu67ghj,894ghk

---------------------------------

第0个:ui78
第1个:8huh
第2个:jf87
第3个:uie8,ujkdf90,hu67ghj,894ghk

---------------------------------

第0个:ui78
第1个:8huh
第2个:jf87
第3个:uie8
第4个:ujkdf90,hu67ghj,894ghk

---------------------------------

第0个:ui78
第1个:8huh
第2个:jf87
第3个:uie8
第4个:ujkdf90
第5个:hu67ghj,894ghk

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

希望本文所述对大家java程序设计有所帮助。

(0)

相关推荐

  • java正则表达式实现提取需要的字符并放入数组【ArrayList数组去重复功能】

    本文实例讲述了java正则表达式实现提取需要的字符并放入数组.分享给大家供大家参考,具体如下: 这里演示Java正则表达式提取需要的字符并放入数组,即ArrayList数组去重复功能. 具体代码如下: package com.test.tool; import java.util.ArrayList; import java.util.HashSet; import java.util.regex.*; public class MatchTest { public static void ma

  • Java基于正则表达式实现查找匹配的文本功能【经典实例】

    本文实例讲述了Java基于正则表达式实现查找匹配的文本功能.分享给大家供大家参考,具体如下: REMatch.java: package reMatch; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by Frank */ public class REMatch { public static void main(String[] args) { String patt = "Q[^

  • Java正则表达式实现在文本中匹配查找换行符的方法【经典实例】

    本文实例讲述了Java正则表达式实现在文本中匹配查找换行符的方法.分享给大家供大家参考,具体如下: 默认情况下,正则表达式 ^ 和 $ 忽略行结束符,仅分别与整个输入序列的开头和结尾匹配.如果激活 MULTILINE 模式,则 ^ 在输入的开头和行结束符之后(输入的结尾)才发生匹配.处于 MULTILINE 模式中时,$ 仅在行结束符之前或输入序列的结尾处匹配. NLMatch.java: package nlMatch; import java.util.regex.Pattern; /**

  • java中正则表达式实例详解

    Java中正则表达式运用实例(参看java中正则表达式运用详解): 测试代码 package test; /** * 在String的matches()方法,split()方法中使用正则表达式. * @author fhd001 */ public class RegexTest { public static void main(String[] args) { /* * 普通字符 */ String str1 = "abc45abc345"; String[]arr1 = str1

  • Java正则表达式判断字符串中是否包含中文示例

    前言 在日常开发编程中,我们有时从用户那里得到一些输入信息,对于特定应用,部分信息不允许包含中文字符,那如何检测信息字符串中是否包含中文字符呢? 方法有很多,这篇文章就介绍一下如何通过正则表达式来实现这个需求. 示例代码 package cn.sunzn.demo; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Demo { public static void main(String[]

  • Java基于正则表达式获取指定HTML标签指定属性值的方法

    本文实例讲述了Java基于正则表达式获取指定HTML标签指定属性值的方法.分享给大家供大家参考,具体如下: 有时可能会有这样的需求,从HTML页面获取指定标签的指定属性值,可以通过第三方库解析来获取,但是这样相对比较麻烦! 如果使用正则表达式,那么就变得简单了.代码如下: package com.mmq.regex; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import

  • Java正则表达式处理特殊字符转义的方法

    正则需要转义字符 '$', '(', ')', '*', '+', '.', '[', ']', '?', '\\', '^', '{', '}', '|' 异常现象: java.util.regex.PatternSyntaxException: Dangling meta. character '*' near index 0 解决方法 对特殊字符加\\转义即可. 注意:虽然使用[]在部分条件下也可以,但是在对于(.[.{范围边界开始符不匹配的情况下会报如下: 异常现象 java.util.

  • java使用正则表达式查找包含的字符串示例

    本文实例讲述了java使用正则表达式查找包含的字符串.分享给大家供大家参考,具体如下: Hello.java: package hello; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Hello { public static void main(String[] args) { String re = "\\[([^\\]]+)\\]"; String str = &quo

  • Java中正则表达式去除html标签

    Java中正则表达式去除html的标签,主要目的更精确的显示内容,比如前一段时间在做类似于博客中发布文章功能,当编辑器中输入内容后会将样式标签也传入后台并且保存数据库,但是在显示摘要的时候,比如显示正文的前50字作为摘要,那么这时需要去除所有html标签,然后在截取50字,所以就通过了Java正则表达式实现了如下方法,代码如下: 注:这是Java正则表达式去除html标签方法. private static final String regEx_script = "<script[^>

  • Java基于正则表达式实现的替换匹配文本功能【经典实例】

    本文实例讲述了Java基于正则表达式实现的替换匹配文本功能.分享给大家供大家参考,具体如下: package replaceDemo; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by Frank * 替换匹配的文本 */ public class ReplaceDemo { public static void main(String[] args) { // 创建一个正则表达式模式

随机推荐