博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java String 中的一些函数与正则的结合使用
阅读量:5320 次
发布时间:2019-06-14

本文共 2023 字,大约阅读时间需要 6 分钟。

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

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

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

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

1:验证:

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);				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) {		//以空格进行分割,返回一个list		System.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 goodI   am a very good student... haha very good

  

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

SDUT 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"));          }      }    }

  

 

转载于:https://www.cnblogs.com/E-star/p/3432031.html

你可能感兴趣的文章
进阶之路(基础篇) - 012 Arduino IDE 添加DHT11传感器第三方库的方法
查看>>
详谈js面向对象 javascript oop,持续更新
查看>>
Javaweb Tomcat 项目部署方式
查看>>
文字半透明显示在图片上
查看>>
express简单原理
查看>>
ubuntu安装spark on yarn
查看>>
linux网络 (一):网络配置
查看>>
基础练习 十进制转十六进制
查看>>
关于这次软件以及pda终端的培训
查看>>
react 生命周期
查看>>
jQuery上传插件Uploadify 3.2在.NET下的详细例子
查看>>
05. Java基础之异常
查看>>
spring11----基于Schema的AOP
查看>>
解决input框自动填充为黄色的问题
查看>>
音视频基础知识(一)
查看>>
JAVA⑤
查看>>
CyclicBarrier的使用
查看>>
Intent 传值和 Bundle传值的区别
查看>>
thinkphp的select和find的区别
查看>>
小程序开发笔记
查看>>