java关于String.split("|")的使用方式

 更新时间:2022年02月08日 14:37:22   作者:lcr_happy  
这篇文章主要介绍了java关于String.split("|")的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

String.split("|")的使用

我们先来写一段代码测试一下

public class TestSplit {
    public static void main(String[] a){
        String test = "中文|英文";
        print(test.split("|"));
        print(test.split(""));
        print(test.split("\\|"));
    }
    public static void print(String[] a){
        System.out.println("============================");
        for(String i:a){
            System.out.println(i);
        }
        System.out.println("============================\n");
    }
}

你知道结果是什么吗?

如下:

============================



|


============================

============================



|


============================

============================
中文
英文
============================

所以我们从上面可以知道:“|”和“”的效果是一样的,如果你要得到正确的结果你必须这样“\|”,双引号里面的是一个正则表达式。

这里写图片描述

String.split() 特殊字符处理

  • jdk 1.8

split函数

注意,split函数的参数是正则表达式。split函数的定义为:

/**
 * Splits this string around matches of the given <a
 * href="../util/regex/Pattern.html#sum" rel="external nofollow" >regular expression</a>.
 *
 * <p> This method works as if by invoking the two-argument {@link
 * #split(String, int) split} method with the given expression and a limit
 * argument of zero.  Trailing empty strings are therefore not included in
 * the resulting array.
 *
 * <p> The string {@code "boo:and:foo"}, for example, yields the following
 * results with these expressions:
 *
 * <blockquote><table cellpadding=1 cellspacing=0 summary="Split examples showing regex and result">
 * <tr>
 *  <th>Regex</th>
 *  <th>Result</th>
 * </tr>
 * <tr><td align=center>:</td>
 *     <td>{@code { "boo", "and", "foo" }}</td></tr>
 * <tr><td align=center>o</td>
 *     <td>{@code { "b", "", ":and:f" }}</td></tr>
 * </table></blockquote>
 *
 *
 * @param  regex
 *         the delimiting regular expression
 *
 * @return  the array of strings computed by splitting this string
 *          around matches of the given regular expression
 *
 * @throws  PatternSyntaxException
 *          if the regular expression's syntax is invalid
 *
 * @see java.util.regex.Pattern
 *
 * @since 1.4
 * @spec JSR-51
 */
public String[] split(String regex) { ... }

特殊符号的处理

split函数的参数是正则表达式,则正则表达式的特殊符号作为分隔符时,就需要特殊处理。

比如,.在正则表达式中是通配符,匹配除换行符(\n、\r)之外的任何单个字符。

对特殊符号的处理方法有两种:

  • 转义。比如,\.
  • 放到中括号里。比如,[.]

示例

String[] s1 = "a.b.c".split("\\.");
System.out.println(Arrays.asList(s1)); //[a, b, c]
String[] s2 = "a.b.c".split("[.]");
System.out.println(Arrays.asList(s2)); //[a, b, c]

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • springboot创建文件夹失败的解决

    springboot创建文件夹失败的解决

    这篇文章主要介绍了springboot创建文件夹失败的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Java 蒙特卡洛算法求圆周率近似值实例详解

    Java 蒙特卡洛算法求圆周率近似值实例详解

    这篇文章主要介绍了蒙特卡洛算法的起源,特点,以及Java编程中利用蒙特卡洛算法计算圆周率近似值的实例,需要的朋友可以参考下
    2017-09-09
  • Cors实现java后端完全跨域实例

    Cors实现java后端完全跨域实例

    本篇文章主要介绍了Cors实现java后端完全跨域实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • SpringBoot实现嵌入式 Servlet容器

    SpringBoot实现嵌入式 Servlet容器

    传统的Spring MVC工程部署时需要将WAR文件放置在servlet容器的文档目录内,而Spring Boot工程使用嵌入式servlet容器省去了这一步骤,本文就来设置一下相关配置,感兴趣的可以了解一下
    2023-12-12
  • java 代码中预防空指针异常的处理办法

    java 代码中预防空指针异常的处理办法

    个人在做项目时,对NullPointerException的几点总结,请网友拍砖!!!多多提意见,
    2013-03-03
  • Spring boot将配置属性注入到bean类中

    Spring boot将配置属性注入到bean类中

    本篇文章主要介绍了Spring boot将配置属性注入到bean类中,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • @RequestParam 接收参数的值为null的处理方式

    @RequestParam 接收参数的值为null的处理方式

    这篇文章主要介绍了@RequestParam 接收参数的值为null的处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java实战之在线寄查快递系统的实现

    Java实战之在线寄查快递系统的实现

    这篇文章主要介绍了如何利用Java制作一个在线寄查快递系统,文中采用的技术有java、SpringBoot、FreeMarker、Mysql,需要的可以参考一下
    2022-02-02
  • 深入理解Java设计模式之代理模式

    深入理解Java设计模式之代理模式

    这篇文章主要介绍了Java设计模式之代理模式的的相关资料,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下
    2021-11-11
  • Java语法基础之运算符学习笔记分享

    Java语法基础之运算符学习笔记分享

    这篇文章主要为大家分享了Java语法基础之运算符学习笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09

最新评论