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

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

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

这里仅是记录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 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.Regex】使用正则表达式查找一个Java类中的成员函数

    代码: import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; imp ...

  2. string中常用的函数

    string中常用的函数 发现在string在处理这符串是很好用,就找了一篇文章放在这里了.. 用 string来代替char * 数组,使用sort排序算法来排序,用unique 函数来去重1.De ...

  3. string 中的 length函数 和size函数 返回值问题

    string 中的 length函数 和 size函数 的返回值  (  还有 char [ ] 中 测量字符串的  strlen 函数 ) 应该是 unsigned int 类型的 不可以 和 -1 ...

  4. Linux上从Java程序中调用C函数

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

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

    1.string中find()返回值是字母在母串中的位置(下标记录),如果没有找到,那么会返回一个特别的标记npos.(返回值可以看成是一个int型的数) #include<cstring> ...

  6. 使用Mysql中的concat函数或正则匹配来快速批量生成用于执行的sql语句

    背景介绍 今天需要给一张表里面补数据,需要按照行的维度进行update,如果是个别数据那么直接写update语句就可以了,但是场景要求的是将整表的数据进行update,要实现这个需求就不能只靠蛮力了, ...

  7. java String 中 intern方法的概念

    1. 首先String不属于8种基本数据类型,String是一个对象. 因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. 2. ne ...

  8. thread.join函数,java多线程中的join函数解析

    join函数的作用,是让当前线程等待,直到调用join()的 线程结束或者等到一段时间,我们来看以下代码 package mian; public class simpleplela { static ...

  9. C++中string中的erase函数怎么使用

    erase函数的原型如下:(1)string& erase ( size_t pos = 0, size_t n = npos );(2)iterator erase ( iterator p ...

随机推荐

  1. HDU1180:诡异的楼梯(bfs+优先队列)

    http://acm.hdu.edu.cn/showproblem.php?pid=1180 Problem Description Hogwarts正式开学以后,Harry发现在Hogwarts里, ...

  2. Andrew Ng-ML-第十五章-降维

    1.数据压缩 数据压缩不仅能够减小存储空间,并且能够加速学习算法.那么什么是数据压缩呢?下面给出了一个简单的例子: 图1.数据压缩的概念 举了两个例子,一个是横轴x1是厘米,纵轴特征x2是英尺,这明显 ...

  3. mysql 开启慢查询

    linux启用MySQL慢查询 vim /etc/my.cnf [mysqld] slow-query-log = on slow_query_log_file = /var/log/slow_que ...

  4. LeetCode--44 通配符匹配

    题目就是说两个字符串,一个含有通配符,去匹配另一个字符串:输出两个字符串是否一致. 注意:’?’表示匹配任意一个字符,’*’表示匹配任意字符0或者多次 首先,我们想到暴力破解.如果从头到尾的破解,到第 ...

  5. 怎么在jquery里清空文本框的内容

    $("input[name='test']").val("").focus(); // 将name=test的文本框清空并获得焦点,以便重新输入

  6. matlab 绘制条状图形

    clear,clc;A=zeros(1080,1920,3);A(:,1:384,:)=0;A(:,385:768,:)=10;A(:,769:1152,:)=20;A(:,1153:1536,:)= ...

  7. 大神的博客地址liferay

    http://www.huqiwen.com/category/technology-share/liferay/

  8. Object-C-Foundation-数组排序

    系统类型排序; NSArray *goodsNames =@[@"computer",@"iphone",@"ipad"]; NSArray ...

  9. EditPlus 4.3.2583 中文版已经发布

    新的版本提升了括号匹配的性能.请点击页面左上角连接下载.

  10. 无法在web服务器下启动调试。该Web服务器未及时响应

    下午在运行项目的时候,突然出现了以下错误: 无法在web服务器上启动调试.该Web服务器未及时响应.可能是因为另一个调试器已连接到该Web服务器. 搜索了很久才找到这个解决方案: 1:Web.conf ...