package com.atguigu.test09;
import org.junit.Test;
/*
* 方法系列(4):
* (1)boolean startsWith(xx)
* (2)boolean endsWith(xx)
*/
public class TestStringMethod4 {
@Test
public void test3(){
String fileName = "Hello.class";
if(fileName.endsWith(".java")){
System.out.println("Java的源文件");
}else if(fileName.endsWith(".class")){
System.out.println("字节码文件");
}
}
@Test
public void test2(){
String str = "尚硅谷是一家靠谱的培训机构";
System.out.println(str.startsWith("尚硅谷"));
}
@Test
public void test1(){
String name = "崔志恒";
if(name.startsWith("张")){
System.out.println("张家人");
}else{
System.out.println("不是张家人");
}
}
}
package com.atguigu.test09;
import org.junit.Test;
/*
* 方法系列(5):和查找有关
* (1)是否包含
* boolean contains
* (2)int indexOf(xx):如果存在返回下标,如果不存在返回-1
* (3)int lastIndexOf(xx):如果存在返回最后一个指定目标(xx)的下标,如果不存在返回-1
*/
public class TestStringMethod5 {
@Test
public void test03(){
String fileName = "Hello.java.txt";
//文件的后缀名是什么
//截取文件的后缀名
//(1)第一步,找到最后一个.的位置
int index = fileName.lastIndexOf(".");
System.out.println(index);
}
@Test
public void test02(){
String str = "123.45";
// String str = "123";
int index = str.indexOf(".");
System.out.println(index);
}
@Test
public void test01(){
String str = "123.45";
if(str.contains(".")){
System.out.println("是小数");
}
}
}
package com.atguigu.test09;
import org.junit.Test;
/*
* 方法系列(6):截取
* (1)String substring(int beginIndex):从字符串的[beginIndex]截取到最后
* (2)String substring(int beginIndex, int endIndex):截取字符串的[beginIndex,endIndex)部分
*/
public class TestMethod6 {
@Test
public void test04(){
String str = "helloworldjava";
String sub = str.substring(2, 6);
System.out.println(sub);
}
@Test
public void test03(){
String fileName = "Hello.java.txt";
//文件的后缀名是什么
//截取文件的后缀名
//(1)第一步,找到最后一个.的位置
int index = fileName.lastIndexOf(".");
//(2)截取
String sub = fileName.substring(index);
System.out.println(sub);
}
}
package com.atguigu.test09;
import org.junit.Test;
/*
* 方法系列(7):匹配规则
* boolean matches(正则表达式)
*
* 正则表达式:用于检测文本的格式
* 校验某个字符串是否符合xx规则
* 例如:电话号码
* 甚至可以校验是否是移动号...
* 银行卡号
* 邮箱格式
* ....
*
*
*/
public class TestMethod7 {
@Test
public void test2(){
String str = "12a345";
//简单判断是否全部是数字,这个数字可以是1~n位
//正则不是Java的语法,它是独立与Java的规则
//在正则中\是表示转义,
//同时在Java中\也是转义
boolean flag = str.matches("\\d+");
System.out.println(flag);
}
@Test
public void test1(){
String str = "123456789";
//判断它是否全部由数字组成,并且第1位不能是0,长度为9位
//第一位不能是0,那么数字[1-9]
//接下来8位的数字,那么[0-9]{8}+
boolean flag = str.matches("[1-9][0-9]{8}+");
System.out.println(flag);
}
}
package com.atguigu.test09;
import org.junit.Test;
/*
* 方法系列(8):替换
* (1)String replace(target, value)
* (2)String replaceAll(String regex, String replacement)
* (3)String replaceFirst(String regex, String replacement)
* 其中(2)和(3)支持正则
*/
public class TestMethod8 {
@Test
public void test4(){
String str = "hello244world.java;887";
//把其中的非字母去掉
str = str.replaceAll("[^a-zA-Z]", "");
System.out.println(str);
}
@Test
public void test3(){
String str = "中国人民是伟大的,中国人民是伟大的人民";
str = str.replaceAll("人民", "***");//相比于replace,支持正则
System.out.println(str);
}
@Test
public void test2(){
String str = "中国人民是伟大的,中国人民是伟大的人民";
str = str.replaceFirst("人民", "***");//相比于replace,支持正则
System.out.println(str);
}
@Test
public void test1(){
String str = "中国人民是伟大的,中国人民是伟大的人民";
str = str.replace("人民", "***");
System.out.println(str);
}
}
package com.atguigu.test09;
import java.util.Arrays;
import org.junit.Test;
/*
* 方法系列(9):拆分
* String[] split(xx)
*/
public class TestMethod9 {
@Test
public void test4(){
String str = "张三.23|李四.24|王五.25";
//|在正则中是有特殊意义,我这里要把它当做普通的|
String[] all = str.split("\\|");
//转成一个一个学生对象
Student[] students = new Student[all.length];
for (int i = 0; i < students.length; i++) {
//.在正则中是特殊意义,我这里想要表示普通的.
String[] strings = all[i].split("\\.");//张三, 23
String name = strings[0];
int age = Integer.parseInt(strings[1]);
students[i] = new Student(name,age);
}
for (int i = 0; i < students.length; i++) {
System.out.println(students[i]);
}
}
@Test
public void test3(){
String str = "1Hello2World3java4atguigu5";
str = str.replaceAll("^\\d|\\d$", "");
String[] all = str.split("\\d");
for (int i = 0; i < all.length; i++) {
System.out.println(all[i]);
}
}
@Test
public void test2(){
String str = "1Hello2World3java4atguigu";
str = str.replaceFirst("\\d", "");
System.out.println(str);
String[] all = str.split("\\d");
for (int i = 0; i < all.length; i++) {
System.out.println(all[i]);
}
}
@Test
public void test1(){
String str = "Hello World java atguigu";
String[] all = str.split(" ");
for (int i = 0; i < all.length; i++) {
System.out.println(all[i]);
}
}
}
class Student{
private String name;
private int age;
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Student() {
super();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
}