多个空格的正则表达式

2023-10-26

一、借鉴别人:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public  class  Test {
     public  static  void  main(String[] args) {
         
         String str =  "  kk kkk klaf    fsaff fsge tg sagh ger fsaga   " ;
         //测试的字符串
         
         String regex =  "\\s+" ;
         //表示一个或多个空格的正则表达式
         
         str = str.trim();
         //去掉字符串开头和结尾的空格
         
         String str1 = str.replaceAll(regex,  "" );
         //去掉所有的空格
         
         String str2 = str.replaceAll(regex,  " " );
         //把一个或多个空格替换成一个空格
         
         System.out.println(str);
         System.out.println(str1);
         System.out.println(str2);
     }
}

输出结果如下:

1
2
3
kk kkk klaf    fsaff fsge tg sagh ger fsaga
kkkkkklaffsafffsgetgsaghgerfsaga
kk kkk klaf fsaff fsge tg sagh ger fsaga


总结:

    \s* 表示若干个空格(可以是0个)。

    \s+ 表示一个或多个空格


二、我的案例:

    有个txt文本,里面有一些字符串,以空格隔开,现在想要读取其中的文本,组成一个数据结构。。

我们发现,里面每行数据是一组,整体又是一组,,字符串之间有若干空格,如LinkedList<LinkedList<String>>


代码:

public LinkedList<LinkedList<String>> getContentFromTxt(String filePath) {
    LinkedList<LinkedList<String>> linkedList = new LinkedList<LinkedList<String>>();
    BufferedReader bufferedReader = null;
    try {
        bufferedReader = new BufferedReader(new FileReader(filePath));
        String lineString = "";
        String[] lineArray = null;
        String regex = "\\s+";
        while ((lineString = bufferedReader.readLine())!=null) {
            lineArray = lineString.split(regex);
            if(lineArray.length < 1){
                continue;
            }
            LinkedList<String> innerList = new LinkedList<>();
            for (String str : lineArray) {
                if("".equals(str) || str==null){
                    continue;
                }
                innerList.add(str);
            }
            linkedList.add(innerList);
        }
        bufferedReader.close();
        fileReader.close();
    }catch (Exception e){
        System.err.println("异常");
    }
    return linkedList;
}
运行结果:



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多个空格的正则表达式 的相关文章

  • Python命令行参数定义及注意事项

    在命令行中运行python代码是很常见的 下面介绍如何定义命令后面跟的参数 常规用法 Python代码中主要使用下面几行代码来定义并获取需要在命令行中赋值的参数 import argparse parser argparse Argumen
  • 5、面向对象的设计思想

    一 面向对象设计思想 1 1 面向过程的设计思想与面向对象的设计思想 例如 我要去新疆 面向过程 我开车 我挂挡 我踩油门 我过河北 我过陕西 面向对象 我命令车去新疆 车怎么去不关我事 信息封装在这这个类的内部 我不用去了解车整个开动的过
  • java中的file.encoding属性到底由什么决定?

    首先先上一段代码 public class PropertiesTest public static void main String args System out println file encoding System getProp
  • 正则表达式工具类

    在实际开发中总会使用到正则表达式匹配数据 我也是在后面查看了一些资料 下面写一个常用的正则表达式匹配集合 正则匹配模式 表示匹配字符串的开始位置 例外 用在中括号中 时 可以理解为取反 表示不匹配括号中字符串 表示匹配字符串的结束位置 表示
  • js正则表达式多行匹配

    在js匹配网页内容时 往往需要匹配一段代码比如 div div 中间可能有很多行 这个时候一般 的匹配规则是匹配不出来的 如下介绍一个折中的方法 var content 这里是内容 var re p class s S p gt g var
  • 元字符的详细解析

    上一篇文章介绍了正则的用处以及正则中这些元字符的基本含义 但是如果我们只知道那些元字符的含义 不知道怎么使用和加以练习 那么对于正则我们还只是看见了门槛 并没有踏入 那么本篇文章就让我们迈起脚步正式走入正则的世界吧 let s go 我的学
  • C#中Validating和Validated事件

    您可能经常需要检查用户输入到 Windows 窗体中的信息是否有效 例如 如果您有一个电话号码的 TextBox 控件 则可以检查该控件是否只包含适当的字符 数字 括号和连字符等等 通常 可使用正则表达式验证用户输入的数据 了解Valida
  • 7.java类中的方法

    1 类中的方法 1 实例方法 格式 访问限制修饰符 方法的返回值数据类型 方法名称 参数列表 方法体 解释 访问限制修饰符 public 缺省的 方法的返回值数据类型 就是方法的执行结果类型 有返回值时 方法的返回值数据类型一定是方法执行结
  • 【java基础】 方法,实参和形参,方法的重载,签名,递归

    目录 方法概念及使用 实参和形参的关系 重要 方法的重载 方法签名 简单了解 递归 简单介绍 方法概念及使用 方法就是一个代码片段 类似于 C 语言中的 函数 作用 是能够模块化的组织代码 当代码规模比较复杂的时候 做到代码被重复使用 一份
  • 进制及进制转换详解。原码、反码、移码,补码区别介绍。(通俗易懂)

    目录 前言 一 十进制 n进制 进制转换详解 1 先说说什么是进制 2 二进制介绍 3 十进制 n进制 进制转换详解 重点 十进制 gt n进制 2 8 16 n进制 2 8 16 gt 十进制 非十进制间的互相转化 二 原码 反码 移码
  • JAVA,异常

    异常概念 通常大家认为异常就是错误 但这个错误有很多种 1 语法错误 2 JVM虚拟机错误 3 平台错误 4 程序运行错误 平台或者资源或者逻辑 数值等错误 常见的异常 1 java lang NullPointerException 空指
  • 《编写高质量代码:改善Java程序的151个建议》读书笔记

    编写高质量代码 改善Java程序的151个建议 秦小波 67个笔记 前言 本书附带有大量的源码 下载地址见华章网站www hzbook com 建议11 养成良好习惯 显式声明UID SerialVersionUID 也叫做流标识符 Str
  • java 模拟库存管理系统

    本案例要求编写一个程序 模拟库存管理系统 该系统内容主要包括 商品入库 商品显示 和删除商品功能 此程序用手机举例 此管理系统分别为两个类Phone 和Test类 Phone类 确定四个变量 类 1 生成空参数构造方法 2 全部参数的构造方
  • 将list集合的元素按照添加顺序的倒序进行排列取出

    将list集合的元素按照添加顺序的倒序进行排列取出 方法1 list add 0 object List
  • java基础之HashSet详解

    HashSet详解 HashSet是基于HashMap实现的一个单列存储的集合类 将所有的数据存在HashMap的key值中 而value全部使用一个Object对象存储 继承关系 public class HashSet
  • java连接oracle出现ORA-12505错误

    问题 sqlplus可以连接 但java连接报错 ORA 12505 ORA 12505 TNS listener does not currently know of SID given in connect descr 解析 原因 数据
  • java连接oracle出现ORA-12505错误

    问题 sqlplus可以连接 但java连接报错 ORA 12505 ORA 12505 TNS listener does not currently know of SID given in connect descr 解析 原因 数据
  • 黑豹程序员-统一身份认证接口

    术语和定义 1 IAM Identity Access Manager 统一身份认证系统 2 IDM Identity Manager 身份管理 3 SSO Single Sign On 单点登录 4 AD Active Directory
  • mysql无法连接问题及其环境变量配置

    问题 Can t connect to MySQL server on localhost 3306 10061 方案一 不推荐 第一 在环境变量 系统变量的path中添加mysql的bin目录 我的是D mysql mysql 8 0 2
  • 详解toLowerCase(判断字符串相等)

    一 toLowerCase 函数简介 toLowerCase 是一个在多个编程语言中都存在的字符串方法 它的作用是将字符串中的所有大写字母转换为对应的小写字母 常用于文本处理 搜索和比较等情况 以确保字符串的一致性和非大小写敏感的操作 二

随机推荐

  • Ubuntu20.04卸载gcc9.4.0,安装gcc9.3.0方法

    1 卸载旧版本gcc sudo apt get remove gcc 2 添加软件源 sudo add apt repository ppa ubuntu toolchain r test 3 更新 sudo apt get update
  • 分库表数据倾斜的处理让我联想到了AKF模型

    1 背景 最近在做需求的时候需要在一张表中增加一个字段 这张表情况如下 1 拆分了多个库多张表 2 库表拆分按表中商户编码字段hash之后取模进行拆分 由于库表拆分按照商户编码 有些大商家的单子数量远远要高于其他普通商家 这样就造成了严重的
  • Linux 中task_struct和文件系统的关系

    在内核进程运行的时候 有current 宏对应目前进程task struct结构 Linux进程主要数据结构之间的关系 一个进程文件位置是有fs struct描述的 进程打开的文件是有files struct描述的 具体打开的文件描述符是有
  • MSYS的下载与安装

    文章来源http code google com p msys cn 简介 本网站通过自行开发的mpkg包管理程序 提供MSYS发行版的下载服务 MSYS是Windows环境上的UNIX工作环境 由www mingw org项目所开发 但不
  • 【ES6】Iterator迭代器

    文章目录 一 Iterator 二 用法详解 1 基本用法 2 遍历不可迭代对象 2 1 原生具备Iterator接口的数据结构 2 2 遍历不可迭代的对象 2 3 Generator 遍历不可迭代对象 总结 一 Iterator 遍历器
  • 怎么设置html代码中的编码格式,html怎么设置编码

    在html中 可以使用meta标签来设置编码 语法格式 meta标签提供了HTML文档的元数据 元数据不会显示在客户端 但是会被浏览器解析 而charset属性用于定义文档的字符编码 本教程操作环境 windows7系统 HTML5版 De
  • Linux RTC 驱动实验

    目录 Linux 内核RTC 驱动简介 I MX6U 内部RTC 驱动分析 RTC 时间查看与设置 RTC 也就是实时时钟 用于记录当前系统时间 对于Linux 系统而言时间是非常重要的 就和我们使用Windows 电脑或手机查看时间一样
  • SpringMvc-json处理

    SpringMvc json处理 在 JSON 中 使用以下两种方式来表示数据 Object 对象 键 值对 名称 值 的集合 使用花括号 定义 在每个键 值对中 以键开头 后跟一个冒号 最后是值 多个键 值对之间使用逗号 分隔 例如 na
  • CTFShow Web12

    先打开靶机 看到下面的网站 发现啥都点不了 所有按钮都没有实际的动作 根据没啥思路就抓个包 扫描个路径的原则 可以看到有robots txt 访问之 得到关键提示路径 admin 访问之后出现提示框 要求输入账号和密码 账号显然是admin
  • 使用cefsharp在winform中嵌套浏览器,解决程序闪退问题,你也可以做一个红芯浏览器^v^

    使用cefsharp在winform中嵌套浏览器 简单使用cefsharp在winform中嵌套浏览器 在上一节 我们学习了如何简单地在winform中嵌入chromium浏览器 我在使用这个开发项目时 需要点击一个按钮 弹出嵌入浏览器的窗
  • 测试bug 类型及原因分类

    空间管理 测试bug 类型及原因分类 Bug类型 QA设置 代码错误 界面优化 设计缺陷 配置相关 安装部署 安全相关 性能问题 标准规范 测试脚本 其他 bug状态更新备注 DE更新 设计如此 重复bug 外部原因 已解决 无法重现 延期
  • 怎么将英文网页整篇翻译成中文

    作为一个实打实的英语渣渣 这个技能还是需要必备的 英语大神勿笑 当然英语遛的大神是不会知道我们英语渣渣的苦的 话不对说 今天我就跟大家分享一下将一个整篇的英文网页翻译成中文的小技巧 大神跳过 工具 这么牛逼的操作当然要用到Google的Ch
  • Gson实现接口自定义反序列化

    在项目中同样遇到了对json字符串进行反序列化时 遇到了多态情况下 无法找到对应类 所以写这篇文章来mark一下 首先抛出原始代码 再给上解决方案 原始代码 原始json串 type int specs min 1 max 12 unit
  • iOS开发设置状态栏字体颜色

    状态栏的字体为黑色 UIStatusBarStyleDefault 状态栏的字体为白色 UIStatusBarStyleLightContent 一 在info plist中 将View controller based status ba
  • 蓝桥杯C/C++省赛:剪格子

    目录 题目描述 思路分析 AC代码 题目描述 如图p1 jpg所示 3 x 3 的格子中填写了一些整数 我们沿着图中的红色线剪开 得到两个部分 每个部分的数字和都是60 本题的要求就是请你编程判定 对给定的m x n 的格子中的整数 是否可
  • Tensorflow——端到端车牌识别(数据制作、训练、评估、预测)

    利用周末时间断断续续实现端到端车牌识别项目 具备完整的数据集 数据制作 训练 评估 预测业务 项目特点 采用tensorflow中的keras库 训练时数据生成器data generator 对学习keras API有一些参考意义 项目地址
  • TCP窗口字段理解

    TCP窗口字段理解 转载自 https blog 51cto com shjrouting 1612855 TCP数据传输过程中 序列号增长的单元是包的个数 解释 这是初学者最常犯的一个错误 原因是绝大多数老师为了方便学生理解 刚开始举例子
  • C++14几种计时方法的对比

    1 C 14 版本 程序如下 include
  • Mysql中索引的最左前缀原则图文剖析(全)

    目录 前言 1 定义 2 全索引顺序 3 部分索引顺序 3 1 正序 3 2 乱序 4 模糊索引 5 范围索引 前言 之所以有这个最左前缀索引 归根结底是mysql的数据库结构 B 树 在实际问题中 比如 索引index a b c 有三个
  • 多个空格的正则表达式

    一 借鉴别人 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16