分割功能
  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. android开发布局文件imageview 图片等比例缩放:

    ImageView的属性scaleType,如果等比缩放的话,就使用CenterInside,如果想固定大小的话,就CenterCrop <?xml version="1.0" ...

  2. Atitit.为什么小公司也要做高大上开源项目

    Atitit.为什么小公司也要做高大上开源项目 1. 为什么手头有很多加急的事情还要做高大上开源项目??1 2. 从长远看,发展 高大上开源项目计划对于解决我们在应急项目正面临着的种种严峻问题也大有裨 ...

  3. Android主线程不能访问网络异常解决办法

    从两个方面说下这个问题: 1. 不让访问网络的原因 2. 解决该问题的办法 不让访问网络的原因: 由于对于网络状况的不可预见性,很有可能在网络访问的时候造成阻塞,那么这样一来我们的主线程UI线程 就会 ...

  4. Android实战--电话拨号器

    今天跟着黑马视频建立一个android app--电话拨号器 首先新建一个android项目 activity_main_xml中的代码如下: <RelativeLayout xmlns:and ...

  5. android lsitview setOnItemLongClickListener 无效或不执行

    今天遇到了lsitview的setOnItemLongClickListener的方法不执行,我是在listview中的每一个ITEM都存放了不同的布局:给整个item布局设置了点击事件onClick ...

  6. iOS单元测试1

    iOS单元测试1 iOS单元测试分为两种类型的测试: 应用测试.应用程序测试可以检查app的代码组件,比如计算机的算术运算的例子.你可以利用应用程序测试来确保你的UI空间控件保持原有位置,并且你的控件 ...

  7. 安卓第六天笔记--ListView

    安卓第六天笔记--ListView 1.AdapteView AdapteView 继承ViewGroup它的本质是容器 AdapterView派生了3个子类: AbsListView AbsSpin ...

  8. JAVA基础学习day19--IO流一、FileWrite与FileReader

    一.IO简述 1.1.简述 IO:input/output IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中. 1.2.结构 字节流抽象类: ...

  9. iOS开发笔记11:表单键盘遮挡、浮点数价格格式化显示、省市区选择器、View Debugging

    1.表单键盘遮挡 应用场景为一个collectionView上有多个textfield.textView供用户填写信息. 之前输入项较少时,采取的方法比较粗暴,didSelectItemAtIndex ...

  10. layout_weight的使用说明

    近期学习了Mars老师的视频,看了十二课的有关layout_weight的讲解,就做了些总结. layout_weight用于分配剩余的布局空间. 首先,先看段代码,它定义了两个textview控件 ...