首先正则表达式在处理字符串问题时,真的非常强大。

正则可以帮助我们处理字符串的: 匹配, 选择, 编辑, 验证等问题。

正则中"\\"表示插入一个"\"

这里仅是记录String 与 正则的结合:

1:验证:

import java.util.Arrays;
import java.util.Scanner;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner cin = new Scanner(System.in);System.out.println("-1234".matches("-?\\d+")); //可能以-开头以数字结尾的System.out.println("5678".matches("-?\\d+"));System.out.println("+1234".matches("-?\\d+"));System.out.println("+2344".matches("(-|\\+)?\\d+"));//可能以-或者+开头以数字结尾的}
}输出:

true
true
false
true

  

2:分割字符串:

结合split进行分割:

import java.util.Arrays;
import java.util.Scanner;public class Main {public static String s = "I   am a good student... haha";public static void main(String[] args) {//以空格进行分割,返回一个listSystem.out.println( Arrays.asList(s.split(" ")) );//以非字符进行分割 W表示一个 W+表示后边跟任意个System.out.println( Arrays.asList(s.split("\\W+")));//以以g开头后边跟字符的进行分割System.out.println( Arrays.asList(s.split("g\\w+")));}
}输出:
[I, , , am, a, good, student..., haha]
[I, am, a, good, student, haha]
[I   am a ,  student... haha]

 

4:替换:

import java.util.Arrays;
import java.util.Scanner;public class Main {public static String s = "I   am a good student... haha good";public static void main(String[] args) {System.out.println(s.replaceFirst("g\\w+", "very good"));System.out.println(s.replaceAll("g\\w+", "very good"));}
}输出:
I   am a very good student... haha good
I   am a very good student... haha very good

  

然后发现之前自己在oj上的一道简单的题目Java几行代码就解决了:

SDUT 2192 http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2192

import java.util.Arrays;
import java.util.Scanner;  public class Main {  public static void main(String[] args) {  // TODO Auto-generated method stub  Scanner cin = new Scanner(System.in);  int n = cin.nextInt();  String s = null;  for (int i = 0; i < n; ++i) {  s = cin.next();  System.out.println(s.replaceAll("cRazY", "CrAZy").replaceAll("CraZy", "cRAzY"));  }  }  }  

  

Java String 中的一些函数与正则的结合使用相关推荐

  1. Java工程中的主函数public static void main(String[] args)

    Java工程中的主函数 主函数简介 主函数声明中各关键词的作用 public static void String[] args 一个Java工程中可以有多个主函数 平时写java project的时 ...

  2. java lambda函数_最常用的 Java 8 中的 Lambda 函数(项目中实用笔记)

    最常用的 Java 8 中的 Lambda 函数(项目中实用笔记) 简介 Java 8 中的新特性,虽然现在都出到了Java14版本,不过在日常的开发过程中,8的版本是足够使用了,再说现在的8以上的版 ...

  3. java String中单个字符的操作

    前言 java String中的单个字符的操作,之所以有这样的需求,还是因为leetcode刷题.目前遇到的,常见的是两种思路. 把整个String转成 char[] 数组,然后就可以按着数组的方式处 ...

  4. 本地方法(JNI)——从java 程序中调用C函数

    [0]README 1) 本文部分文字描述 转自 core java volume 2 , 旨在理解 本地方法--从java 程序中调用C函数 的基础知识 : 2) for source code, ...

  5. C++string中的find()函数

    C++ string中的find()函数 查找字符串s1中是否包含子串s2? 思路:此处需要用到string库中的find函数与npos参数. (1)string::npos参数 string::np ...

  6. C++ string中的append函数

    C++ string中的append函数 1. append函数     常用的函数原型:       basic_string &append( const basic_string &am ...

  7. android java split_Java中的split函数的用法

    Java中的 split  函数是用于按指定字符(串)或正则去分割某个字符串,结果以字符串数组形式返回: 例如: String str="1234@abc"; String[] a ...

  8. linux java 调用c_Linux上从Java程序中调用C函数

    原则上来说,"100%纯Java"的解决方法是最好的,但有些情况下必须使用本地方法.特别是在以下三种情况: 需要访问Java平台无法访问的系统特性和设备: 通过基准测试,发现Jav ...

  9. 享元模式在 Java String 中的应用

    享元模式在 Java String 类中的应用.同样,我们还是先来看一段代码,你觉得这段代码输出的结果是什么呢? String s1 = "小争哥"; String s2 = &q ...

最新文章

  1. 第一个以比特币现金ICO的项目,筹集了3000万美元
  2. Mysql Explain 结果字段解释
  3. 为什么要重写hashcode()方法
  4. Hibernate各种主键生成策略与配置详解 - 真的很详细啊!!
  5. 操作系统(二十三)生产者消费者问题
  6. nginx利用proxy_cache来缓存文件
  7. Centos7 install Openstack - (第三节)添加镜像服务(Glance)
  8. Java爬虫系列二:使用HttpClient抓取页面HTML
  9. java 小于10 自动补零_java 位数自动补0处理
  10. 感谢大家对课程的关注和喜爱
  11. Linux使用命令 笔记
  12. 服务器美萍管理系统,美萍服装管理软件互联网版(Web会员管理软件、连锁店会员卡管理系统、B/S版连锁会员管理系统)...
  13. Idea中jrebel激活码
  14. 《每日一荐月刊》2019-11
  15. 大数据可视化的价值意义
  16. win10 休眠设置无效_win10休眠设置无效的解决教程
  17. QMT量化交易网格交易 源码
  18. html微课制作软件,炫页网.多彩炫页工具-微课大赛指定HTML5课程制作工具
  19. LightOJ - 1395
  20. 键盘输入盲打训练, 打字练习,打字游戏 打字教程推荐

热门文章

  1. ts定义数组类型_TypeScript 数组的类型
  2. odoo pivot中去掉求和_评比算分,去掉最高分和最低分算平均,PLC怎样编程实现?...
  3. 300 s7 置零指令_西门子S7-1200能否全面取代S7-300,先看数据!
  4. Linux线程屏障,线程屏障(基于linuxthreads-2.3)
  5. java中处理异常怎么越过,java – Spring Batch – 异常不可跳过
  6. 重命名master分支
  7. linux jzmq编译,Linux下ps aux解释
  8. eclipse git拉取失败_Git(四):分支
  9. Ubuntu MySQL 重新安装
  10. 计算机公共基础课程标准,计算机应用基础》的课程标准.doc