java根据正则表达式java如何拆分字符串串。

根据给定正则表达式的匹配拆分此字符串 split(regex);
import java.util.S/*
* 分割功能
String类的public String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串。
百合网,世纪佳缘,珍爱网,QQ
范围:18-24
age&=18 && age&=24
*/public class RegexDemo {public static void main(String[] args) {// 定义一个年龄搜索范围String ages = "18 24 32 21";// 定义规则String regex = " ";// 调用方法String[] strArray = ages.split(regex);// 遍历for(int x = 0;x&strArray.x++){System.out.println(strArray[x]);}// 键盘录入年龄Scanner sc = new Scanner(System.in);System.out.println("请输入年龄:");int age = sc.nextInt();// 如何得到int类型呢int startAge = Integer.parseInt(strArray[0]);int endAge = Integer.parseInt(strArray[1]);if (age &= startAge && age &= endAge) {System.out.println("你就是我想找的");} else {System.out.println("你不符合我的要求,gun");}}}运行结果:
没有更多推荐了,找不到答案?
java字符串按空格分割但不包含字符串中的空格这个正则表达式怎么写?
示例字符串:
String text1 = "127.0.0.1 - - [05/Nov/:34 +0800] \"GET /accounts/accountIds/54d9c155e4b0abe,55bb3f44e4bae86,54dab42de4b07ae8cdca2a6e4b08acc10be9a71 HTTP/1.1\" 200 2426 \"-\" \"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36\" 0.012 0.012 \"192.168.222.251\"";
String text2 = "127.0.0.1 - - [05/Nov/:40 +0800] \"GET /accounts/54fda0030461fb HTTP/1.1\" 200 814 \"-\" \"Mozilla/5.0 (L U; Android 4.4.2; zh-CN; HUAWEI P7-L07 Build/HuaweiP7-L07) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/10.8.0.654 U3/0.8.0 Mobile Safari/534.30\" 0.005 0.005 \"192.168.222.35\"";
String text3 = "127.0.0.1 - - [05/Nov/:40 +0800] \"GET /favicon.ico HTTP/1.1\" 404 992 \"-\" \"Mozilla/5.0 (L U; Android 4.4.2; zh-CN; HUAWEI P7-L07 Build/HuaweiP7-L07) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/10.8.0.654 U3/0.8.0 Mobile Safari/534.30\" 0.040 0.040 \"192.168.222.35\"";
String text4 = "127.0.0.1 - - [05/Nov/:11 +0800] \"POST /wechat/wxbc69?signature=b04d686abe051d2c7b0&timestamp=&nonce=&encrypt_type=aes&msg_signature=cd562f862f9acdca5c872 HTTP/1.1\" 200 298 \"-\" \"Mozilla/4.0\" 0.019 0.019 \"101.226.62.82\"";
这个是一个访问日志,其中四条记录,其余记录也是四类中的一个,我希望分割之后的结果是:
按投票排序
按时间排序
public static void main(String[] args) {
String text1 = "127.0.0.1 - - [05/Nov/:34 +0800] \"GET /accounts/accountIds/54d9c155e4b0abe,55bb3f44e4bae86,54dab42de4b07ae8cdca2a6e4b08acc10be9a71 HTTP/1.1\" 200 2426 \"-\" \"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36\" 0.012 0.012 \"192.168.222.251\"";
String text2 = "127.0.0.1 - - [05/Nov/:40 +0800] \"GET /accounts/54fda0030461fb HTTP/1.1\" 200 814 \"-\" \"Mozilla/5.0 (L U; Android 4.4.2; zh-CN; HUAWEI P7-L07 Build/HuaweiP7-L07) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/10.8.0.654 U3/0.8.0 Mobile Safari/534.30\" 0.005 0.005 \"192.168.222.35\"";
String text3 = "127.0.0.1 - - [05/Nov/:40 +0800] \"GET /favicon.ico HTTP/1.1\" 404 992 \"-\" \"Mozilla/5.0 (L U; Android 4.4.2; zh-CN; HUAWEI P7-L07 Build/HuaweiP7-L07) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/10.8.0.654 U3/0.8.0 Mobile Safari/534.30\" 0.040 0.040 \"192.168.222.35\"";
String text4 = "127.0.0.1 - - [05/Nov/:11 +0800] \"POST /wechat/wxbc69?signature=b04d686abe051d2c7b0&timestamp=&nonce=&encrypt_type=aes&msg_signature=cd562f862f9acdca5c872 HTTP/1.1\" 200 298 \"-\" \"Mozilla/4.0\" 0.019 0.019 \"101.226.62.82\"";
Pattern p = Pattern.compile(
"^([\\d.]+) (\\S+) (\\S+) \\[(.+)\\] \"(GET|POST|DELETE|PUT|HEAD) (\\S+) (\\S+)\" (\\d+) (\\d+) \"(\\S+)\" \"(.+)\" (\\S+) (\\S+) \"([\\d.]+)\"");
List&String& lines = new ArrayList&String&();
lines.add(text1);
lines.add(text2);
lines.add(text3);
lines.add(text4);
for (String line : lines) {
System.out.println("****************************************");
Matcher matcher = p.matcher(line);
if (matcher.find()) {
System.out.print(matcher.group(4) + " ");
System.out.print(matcher.group(5) + " ");
System.out.print(matcher.group(6) + " ");
System.out.print(matcher.group(8) + " ");
System.out.println(matcher.group(14));
输出结果:
****************************************
05/Nov/:34 +0800 GET /accounts/accountIds/54d9c155e4b0abe,55bb3f44e4bae86,54dab42de4b07ae8cdca2a6e4b08acc10be9a71 200 192.168.222.251
****************************************
05/Nov/:40 +0800 GET /accounts/54fda0030461fb 200 192.168.222.35
****************************************
05/Nov/:40 +0800 GET /favicon.ico 404 192.168.222.35
****************************************
05/Nov/:11 +0800 POST /wechat/wxbc69?signature=b04d686abe051d2c7b0&timestamp=&nonce=&encrypt_type=aes&msg_signature=cd562f862f9acdca5c872 200 101.226.62.82
登录后可回答问题,请
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...
RDS是一种稳定可靠、可弹性伸缩的在线数据库服务。支持MySQL、SQL Server、PostgreSQL、高...博客分类:
package cn.com.songjy.
import java.util.regex.M
import java.util.regex.P
public class RegexTest {
public static void main(String[] args) {
String regex = "\\[{1}(.+)\\]{1}";
String str = "短信中包含以下敏感字:[fuck,shit,bitch]并且号码中包含以下黑名单:张三-,李四-";
System.out.print("敏感字如下:");
System.out.println(getKeyWords(regex, str));
System.out.print("黑名单号码如下:");
System.out.println(getMobiles(str));
System.out.println("字符替换:"+replaceStr("我喜欢红色"));
//提取 中括号中关键字
public static String getKeyWords(String regex,String str){
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
if(m.find()){
return m.group(1);
//提取字符串中的手机号码
public static String getMobiles(String str) {
Pattern p = Pattern.compile("(\\+86|)?(\\d{11})");
Matcher m = p.matcher(str);
StringBuilder sb = new StringBuilder();
while (m.find()) {
if(sb.length()&0)
sb.append(",");
sb.append(m.group(2));
* 不加"()"也能将手机号码输出 添加"()"是为了筛选数据添加上去的,
* 第一对"()"是为了获取字符串"+86",代码是System.out.println(m.group(1));,
* 第二对"()"是获取11位纯数字电话号码, 本次的输出的手机号码中包含了"+86",如果只要11位数字号码,
* 可将代码改为System.out.println(m.group(2));
//System.out.println(m.groupCount());// 该行代码是输出有几对"()",即捕获组个数,本次输出结果是2,因为有两对"()"
return sb.toString();
//替换字符
public static String replaceStr(String str){
String regex = "红";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
return m.replaceAll("绿");
浏览: 980044 次
来自: 江西
牛逼,正解!
[i][b][u]引用[list]
[*][img][flas ...
宋建勇 写道 写道&!-- 文件拷贝时 ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'java中怎么用正则表达式把字符串拆分成数组
[问题点数:40分]
本版专家分:0
结帖率 50%
CSDN今日推荐
本版专家分:0
本版专家分:6443
本版专家分:438
本版专家分:15049
2016年6月 Java大版内专家分月排行榜第一2016年5月 Java大版内专家分月排行榜第一2016年4月 Java大版内专家分月排行榜第一
2017年2月 Java大版内专家分月排行榜第二2017年1月 Java大版内专家分月排行榜第二2016年7月 Java大版内专家分月排行榜第二
2016年12月 Java大版内专家分月排行榜第三2016年10月 Java大版内专家分月排行榜第三2016年8月 Java大版内专家分月排行榜第三
本版专家分:0
本版专家分:6443
本版专家分:0
匿名用户不能发表回复!|
其他相关推荐

我要回帖

更多关于 java字符串怎么拆分 的文章

 

随机推荐