摘要:
编程题
1、输入一个字符串,统计其中有多少个"ab"子字符串。
2、输入一个字符串,将其中有所有的"ab"替换成"xy"。
参考代码:
package com.gx.demo;
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
try {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String s = sc.nextLine();
String reg = "ab";
//第一种写法,println打印
System.out.println("1. ab子字符串一共有:" + (s.length() - s.replaceAll(reg, "").length()) / reg.length());
System.out.println("2. 把ab替换为xy后:" + s.replaceAll(reg, "xy"));
//第二种写法,printf格式输出
System.out.printf("1. ab子字符串一共有:%d\n",(s.length() - s.replaceAll(reg, "").length()) / reg.length());
System.out.printf("2. 把ab替换为xy后:%s\n", s.replaceAll(reg, "xy"));
//第三种写法;用数组分割的话,数组长度要减1
int len = s.split(reg).length;
System.out.printf("1. ab子字符串一共有:%d\n", (len > 0 ? len-1 : len));
System.out.println("2. 把ab替换为xy后:" + s.replaceAll(reg, "xy"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
输出结果:
请输入一个字符串:
ababaaabbbeeabdd
1. ab子字符串一共有:4
2. 把ab替换为xy后:xyxyaaxybbeexydd
1. ab子字符串一共有:4
2. 把ab替换为xy后:xyxyaaxybbeexydd
1. 一共有ab子字串:4
2. 把ab替换为xy后:xyxyaaxybbeexydd