split()方法详解

news/2024/7/7 18:32:57

split()方法详解
1.split()主要是用于对一个字符串进行分割成多个字符串数组。标准形式为String [] strings = str.split(“”);
2.split()方法中括号中的参数可以为一个也可以为多个,每个参数之间用|隔开。并且每个参数之间要紧挨着|。
如:String [] strings = string.split(" |,|\?“);这里有三个参数:空格、逗号、问号。
3.像?.(点)((正括弧))(反括弧)*(星号)|(竖线)等特殊符号都要在其前面加上\。
4.str.split(”");使用默认的情况下,split()方法对每个字符进行分割。

5.当遇到连续的分隔符的时候

String s = “a,b,###c”

String[] ss = s.split(“,|#”);

system.out.println(ss.length);

打印的结果是:6

ss = {{“a”},{“b”},{“”},{“”},{“”},{“c”}};

为什么会出现3个空字符串呢?因为split当遇到分隔符的时候,就一直读取下一个字符直到遇到不是分隔符的字符为止。

这里当遇到b后面的“,”的时候,会接着读取后面的3个“#”知道遇到c为止。它会把第一个“,”去掉,然后用三个“”去

代替3个“#”。

注意:这里在程序中要把ss字符串数组中的“”去掉不能用==来判断而要用equals()来判断。因为这里的字符串数组是在运行时产生的,他存放在堆区,不是在常量池中。

6.System.out.println(“🆎cd:ef::”.split(“:”).length);//末尾分隔符全部忽略
System.out.println(“🆎cd:ef::”.split(“:”,-1).length);//不忽略任何一个分隔符
System.out.println(StringUtils.split(“🆎cd:ef::”,“:”).length);//最前面的和末尾的分隔符全部都忽略,apache commons
System.out.println(StringUtils.splitPreserveAllTokens(“🆎cd:ef::”,“:”).length);//不忽略任何一个分隔符 apache commons


http://lihuaxi.xjx100.cn/news/1293868.html

相关文章

String、StringBuffer和StringBuilder的区别(面试题)

目录 一、介绍String、StringBuffer和StringBuilder三大类 1.String类 2.StringBuffer类 3.StringBuilder类 4.什么是字符串常量池 4.StringBuilder类为什么不需要同步进行同步操作 二、关于String、StringBuffer和StringBuilder常见的面试题 1.为什么String是不可变的…

MyBatis 中,如何实现插件开发?

MyBatis 中,如何实现插件开发? 在 MyBatis 中,可以通过实现拦截器接口 Interceptor 来编写自己的插件。 插件需要实现 Interceptor 接口,并定义拦截行为和拦截对象的类型。实现 Interceptor 接口需要实现三个方法:int…

<List<Map<String, Object>>> List Map 转 List<T>工具类

工具类&#xff1a; package com.itheima.util;import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; import java.util.Map;public class ListMapToBeanUtils {/*** List<Map<String, Object>>转List<T>*/public static &…

【数据挖掘】时间序列模型处理指南(一)

一、说明 序模型是一组按时间排序的数据点,用于预测未来。以下是您需要了解的所有信息。 无论我们希望预测金融市场趋势还是电力消耗,时间都是我们的模型中必须考虑的重要因素。例如,预测电力消耗高峰的时间会很有趣。这对于调整电价或电力生产可能很有用。 二、什么是时序…

C语言:移位操作注意事项

移位操作&#xff1a;因为操作符的原因&#xff0c;注意加括号。还有没必要在移位的时候进行&#xff08;uint32_t&#xff09;转换。 测试程序如下&#xff1a; #include <string.h> #include <stdlib.h> #include <stdio.h> #include <stdint.h>i…

TP6的服务在自定义composer包中如何使用

官方关于Service的说明文档&#xff1a; https://www.kancloud.cn/manual/thinkphp6_0/1037490 做下概念说明&#xff1a; Service和Provider在TP6中扮演着不同的角色。Service是用于封装特定功能的类&#xff0c;而Provider是用于注册和配置Service的类。 这里的Service指的…

基于51单片机的智能教室系统

目录 基于51单片机的智能教室系统一、原理图二、部分代码三、视频演示 基于51单片机的智能教室系统 功能&#xff1a; 1.通过LCD实时温度、光照强度、人数以及手自动模式 2.温度过高且有人的情况下打开空调 3.光强过弱的时候且有人的情况下打开照明灯 4.通过两个运放电路模拟进…

移远通信全新3GPP NTN R17模组正式上线,助力实现空天地海网络全覆盖

6月29日&#xff0c;在2023上海世界移动通信大会期间&#xff0c;物联网整体解决方案供应商移远通信正式宣布&#xff0c;推出符合3GPP NTN R17标准的全新5G卫星通信模组——CC950U-LS。该产品面向国内物联网市场&#xff0c;将为蜂窝网络无法覆盖的森林、海洋、沙漠等偏远地区…