Java String 中的一些函数与正则的结合使用
首先正则表达式在处理字符串问题时,真的非常强大。
正则可以帮助我们处理字符串的: 匹配, 选择, 编辑, 验证等问题。
正则中"\\"表示插入一个"\"
这里仅是记录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 中的一些函数与正则的结合使用的更多相关文章
- 【Java.Regex】使用正则表达式查找一个Java类中的成员函数
代码: import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; imp ...
- string中常用的函数
string中常用的函数 发现在string在处理这符串是很好用,就找了一篇文章放在这里了.. 用 string来代替char * 数组,使用sort排序算法来排序,用unique 函数来去重1.De ...
- string 中的 length函数 和size函数 返回值问题
string 中的 length函数 和 size函数 的返回值 ( 还有 char [ ] 中 测量字符串的 strlen 函数 ) 应该是 unsigned int 类型的 不可以 和 -1 ...
- Linux上从Java程序中调用C函数
原则上来说,"100%纯Java"的解决方法是最好的,但有些情况下必须使用本地方法.特别是在以下三种情况: 需要访问Java平台无法访问的系统特性和设备: 通过基准测试,发现Jav ...
- C++ string中的find()函数
1.string中find()返回值是字母在母串中的位置(下标记录),如果没有找到,那么会返回一个特别的标记npos.(返回值可以看成是一个int型的数) #include<cstring> ...
- 使用Mysql中的concat函数或正则匹配来快速批量生成用于执行的sql语句
背景介绍 今天需要给一张表里面补数据,需要按照行的维度进行update,如果是个别数据那么直接写update语句就可以了,但是场景要求的是将整表的数据进行update,要实现这个需求就不能只靠蛮力了, ...
- java String 中 intern方法的概念
1. 首先String不属于8种基本数据类型,String是一个对象. 因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. 2. ne ...
- thread.join函数,java多线程中的join函数解析
join函数的作用,是让当前线程等待,直到调用join()的 线程结束或者等到一段时间,我们来看以下代码 package mian; public class simpleplela { static ...
- C++中string中的erase函数怎么使用
erase函数的原型如下:(1)string& erase ( size_t pos = 0, size_t n = npos );(2)iterator erase ( iterator p ...
随机推荐
- HDU1180:诡异的楼梯(bfs+优先队列)
http://acm.hdu.edu.cn/showproblem.php?pid=1180 Problem Description Hogwarts正式开学以后,Harry发现在Hogwarts里, ...
- Andrew Ng-ML-第十五章-降维
1.数据压缩 数据压缩不仅能够减小存储空间,并且能够加速学习算法.那么什么是数据压缩呢?下面给出了一个简单的例子: 图1.数据压缩的概念 举了两个例子,一个是横轴x1是厘米,纵轴特征x2是英尺,这明显 ...
- mysql 开启慢查询
linux启用MySQL慢查询 vim /etc/my.cnf [mysqld] slow-query-log = on slow_query_log_file = /var/log/slow_que ...
- LeetCode--44 通配符匹配
题目就是说两个字符串,一个含有通配符,去匹配另一个字符串:输出两个字符串是否一致. 注意:’?’表示匹配任意一个字符,’*’表示匹配任意字符0或者多次 首先,我们想到暴力破解.如果从头到尾的破解,到第 ...
- 怎么在jquery里清空文本框的内容
$("input[name='test']").val("").focus(); // 将name=test的文本框清空并获得焦点,以便重新输入
- matlab 绘制条状图形
clear,clc;A=zeros(1080,1920,3);A(:,1:384,:)=0;A(:,385:768,:)=10;A(:,769:1152,:)=20;A(:,1153:1536,:)= ...
- 大神的博客地址liferay
http://www.huqiwen.com/category/technology-share/liferay/
- Object-C-Foundation-数组排序
系统类型排序; NSArray *goodsNames =@[@"computer",@"iphone",@"ipad"]; NSArray ...
- EditPlus 4.3.2583 中文版已经发布
新的版本提升了括号匹配的性能.请点击页面左上角连接下载.
- 无法在web服务器下启动调试。该Web服务器未及时响应
下午在运行项目的时候,突然出现了以下错误: 无法在web服务器上启动调试.该Web服务器未及时响应.可能是因为另一个调试器已连接到该Web服务器. 搜索了很久才找到这个解决方案: 1:Web.conf ...