分割功能
  String类的public String[] split(String regex)
  根据给定正则表达式的匹配拆分此字符串。

例子:
  可以用来做年龄段的筛选,比如说,我要筛选18-26之间的年龄段的人
  而18-26在后台是字符串"18-26",而年龄在后端是int类型的,18,23之类的。
  所以,我们要对"18-26"这个字符串进行操作:
    A:分割取18 和 26,
    B:把18和26转成int类型的
    C:键盘输入年龄
    D:对这个年龄进行判断
        a:符合这个年龄段
        b:不符合这个年龄段

 import java.util.Scanner;
public class NameTest { public static void main(String[] args) {
//定义年龄段的搜索范围
String ages = "18-26"; //定义正则表达式的规则
String regex = "-"; //调用方法,把-给分割掉
String[] array = ages.split(regex); //把array的第一个数据变成int,此时array = {18,26};
int startage = Integer.parseInt(array[0]);
//第二个数据变成int
int endage = Integer.parseInt(array[1]); //键盘输入年龄
Scanner sc = new Scanner(System.in);
System.out.println("请输入年龄");
int age = sc.nextInt(); //对输入的年龄进行判断
if( age >= startage && age <= endage){
System.out.println("你的年龄符合");
}
else{
System.out.println("你的年龄不符合");
}
} }

我有如下一个字符串:"91 27 46 38 50"
  请写代码实现最终输出结果是:"27 38 46 50 91"
  分析:
    A:定义一个字符串
    B:把字符串中的空格分隔开
    C:把字符串转换成数组
    D:把数组里的元素转换成int类型
        a:首先得定义一个int数组,长度跟字符串数组一样
        b:然后再把数组里的元素转成int类型
    E:给int数组进行排序
    F:对排序后的数组进行拼接,转换成字符串
    G:输出字符串

 import java.util.Arrays;
public class DivisionTest3 { public static void main(String[] args) {
//定义一个字符串
String s = "91 27 46 38 50";
//直接分割开空格
String[] str = s.split(" ");
//把字符串转换成数组
char[] c = s.toCharArray();
//把数组里的元素转换成int类型
//a:首先得定义一个int数组,长度跟字符串数组一样
int[] arr = new int[str.length];
//b:然后再把数组里的元素转成int类型
for(int x = 0;x < str.length ; x++){
arr[x] = Integer.parseInt(str[x]);//字符串数组里的元素转成int类型
}
//E:给int数组进行排序 public static void sort(int[] a)
Arrays.sort(arr);
//F:对排序后的int数组进行拼接,转换成字符串
//定义一个StringBuilder,比StringBuffer高效率
StringBuilder sb = new StringBuilder();
for(int x = 0; x < arr.length; x++){
if(x < arr.length){
sb.append(arr[x]+" ");
}
}
//由于这样的拼接,最后一个元素后面有空格,所以要去除空格
//public String trim() 返回字符串的副本,忽略前导空白和尾部空白。
//由于这个方法是针对字符串的,所以,得把sb转换成字符串
String result = sb.toString().trim();
//输出结果
System.out.println("转换后的结果是:"+result);
} }

替换功能
  String类的public String replaceAll(String regex,String replacement)
    使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
  例子:
    有些论坛的回复内容都屏蔽掉了连续出现5个数字以上的情况,改成用**代替。这个就可以设置
  分析:
    A:创建键盘录入
    B:设置方法
      a:返回类型 String
      b:参数列表 String

 public class ReplaceTest1 {

 public static void main(String[] args) {

 //键盘录入
Scanner sc = new Scanner(System.in);
System.out.println("回复:");
String str = sc.nextLine(); //调用方法
System.out.println("内容:"+replace(str));
} //定义方法
public static String replace(String str){
//设置正则表达式的屏蔽规则
String reuslt = str.replaceAll("\\d{5,}", "***"); //数字连续出现5次或5次以上,直接用***替换掉
return reuslt;
}
}

java 14-3 正则表达式的分割的更多相关文章

  1. java 14 -1 正则表达式

    正则表达式:符合一定规则的字符串. 1.判断QQ号码是否正确的案例: public class RegexDemo2 { public static void main(String[] args) ...

  2. Java基础七-正则表达式

    Java基础七-正则表达式 一.定义: 特定的符号的组合 二.作用: 用于操作字符串数据 三.优缺点 简化代码,但是阅读性差 四.引入 4.1 问题 判断一个号码是否是QQ号? 不是零开头 6-15位 ...

  3. java密码验证正则表达式校验

    ,正则表达式就是记录文本规则的代码.php密码验证正则表达式(8位长度限制)<?php //密码验证 $password = "zongzi_Abc_oo13a2"; $n ...

  4. 详解Java API之正则表达式

    正则表达式描述的是一种规则,符合这种限定规则的字符串我们认为它某种满足条件的,是我们所需的.在正则表达式中,主要有两种字符,一种描述的是普通的字符,另一种描述的是元字符.其中元字符是整个正则表达式的核 ...

  5. (转)Java中使用正则表达式的一个简单例子及常用正则分享

    转自:http://www.jb51.net/article/67724.htm 这篇文章主要介绍了Java中使用正则表达式的一个简单例子及常用正则分享,本文用一个验证Email的例子讲解JAVA中如 ...

  6. 【java 正则表达式】记录所有在java中使用正则表达式的情况

    本篇记录在java中邂逅正则表达式的所有美丽瞬间.因为在java和js中正则表达式的语法并不一致. 1.匹配字符串中有出现[2.1开头或者&2.1或者&3.1等的] Pattern m ...

  7. 9.JAVA中的正则表达式

    一.JAVA中的正则表达式 1.概念:以某种特定的方式描述字符串 1.Java中正则表达式的规则 ?          #{0,1}-?有一个-或者没有 \\           #表示一个" ...

  8. JAVA自动生成正则表达式工具类

    经过很久的努力,终于完成了JAVA自动生成正则表达式工具类.还记得之前需要正则,老是从网上找吗?找了想修改也不会修改.现在不用再为此烦恼了,使用此生成类轻松搞定所有正则表达式.赶快在同事面前炫一下吧. ...

  9. JAVA中的正则表达式--待续

    1.关于“\”,在JAVA中的正则表达式中的不同: 在其他语言中"\\"表示为:我想要在正则表达式中插入一个普通的反斜杠: 在Java中“\\”表示为:我想要插入一个正则表达式反斜 ...

  10. 黑马程序员:Java基础总结----正则表达式

    黑马程序员:Java基础总结 正则表达式   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 正则表达式 import  java.util.regex.*; 符合一定规 ...

随机推荐

  1. java微信开发(wechat4j)——支持微信JS-SDK的jsapi_ticket中控服务器

    jsapi_ticket是使用js-sdk必须要的一个凭证,需要配置在js中. jsapi_ticket获取 要获取jsapi_ticket可以使用如下的方法 String jsapi_ticket ...

  2. 微信jssdk,实现多图上传的一点心得

    一.首先在common.js里封装一个函数,在需要调用jsSDK的页面引用此方法即可实现微信的信息配置function signatureJSSDK() { var url = window.loca ...

  3. SharePoint 2010 文档管理之点击次数

    前言:很多场景下,我们都需要对一篇文章或者文档的点击次数进行统计,然而SharePoint本身并没有给我们设计这样一个字段,所以我们需要通过简单的字段开发来实现这样一个功能. 一.创建项目: 1. 创 ...

  4. Android项目实战(十):自定义倒计时的TextView

    项目总结 -------------------------------------------------------------------------------------------- 有这 ...

  5. [stl] SGI STL的空间配置器

    第一级空间配置器 第一级配置以malloc(), free(), realloc()等c函数执行实际的内存配置,释放.重配置操作,并实现出类似c++ new handler的机制.它不能直接使用c++ ...

  6. Activity与Fragment的生命周期

    今天看到一张图,详细描述了Activity和Fragment的生命周期,好资源共享咯!

  7. 【读书笔记】iOS-头文件导入-@class注意事项

    一,导入头文件有两种不同的方法:使用引号或者使用尖括号,例如,#import <Cocoa/Cocoa.h>和#import "Tire.h".带尖括号的语句是用来导入 ...

  8. IOS之KVC和KVO(未完待续)

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  9. Cent OS服务器配置(JDK+Tomcat+MySQL)

    本文摘自:Cent OS服务器配置(JDK+Tomcat+MySQL) 学习tar解压 解压 tar 文件 tar -zxvf apache-tomcat-6.0.35.tar.gz tomcat   ...

  10. 一个基于DDD的开源项目,各种技术!

    基于asp.net mvc + DDD 构架的开源.net cms系统. 运行截图: 特性: 跨平台 支持Windows.Linux.MacOX运行.linux运行案例:http://blog.ops ...