计算字符串长度
public static void main(String[] args) {
String message = "今天我在学习 Java 字符串";
// 调用字符串的长度方法得到长度
int size = message.length();
System.out.println(size);
}
字符串长度限制代码
public class Test71 {
public static void main(String[] args) {
boolean countPass = validateCount("今天天气挺好的");
System.out.println(countPass);
}
public static boolean validateCount(String message){
if(message.length()>140){
return false;
}
return true;
}
}
参数 是一个String 类型
返回类型 是boolean 此外返回类型也要是boolean型
方法型 逻辑可以借助 length() 方法表示
可以用charAt(index),来取出字符串的一个字
public static void main(String[] args) {
String message = "Hello Java";
// 取出第一个字
char str = message.charAt(0);
System.out.println(str);
// 取出第二个字
str = message.charAt(1);
System.out.println(str);
}
注意下:charAt 方法返回类型是char,单个字符串就是char,它只能存储一个字符
trim 可以去除字符串左右的空格(无论多少都可去除)
public class Test721 {
public static void main(String[] args) {
String str = " SuperXCR ";
// 打印一下现在的length
System.out.println(str+"的长度是:"+str.length());
// 处理一下去空格
String newStr = str.trim();
// 打印一下新字符串的length
System.out.println(newStr+"的长度是:"+newStr.length());
// 对比再打印一下老的字符串的length
System.out.println(str+"的长度是:"+str.length());
}
}
indexOf(“字符串”) 接受一个字符串,当调用这个方法时,就去文本中去查找到第一个匹配到的坐标索引值,用int型可以来判断是否匹配;
public static void main(String[] args) {
String str = "Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。";
int index = str.indexOf("Java");
if(index!=-1){
System.out.println("匹配到了Java,索引位置是"+index);
}else{
System.out.println("没有匹配到了Java");
}
}
如何去找第二个索引值
public static void main(String[] args) {
String str = "Java是一种广泛使用的计算机编程语言,于1995年5月以Java的名称正式发布。";
int index = str.indexOf("Java");
index = str.indexOf("Java", index + 4);
System.out.println("第二次匹配到了Java,索引位置是" + index);
}
这里,我们看到 indexOf 方法有一个新的调用方式: indexOf(“字符串”,”开始索引值”);
第二个参数是一个数字类型,用于设定从什么位置开始找。所以我们找到的第一个匹配到的索引+配皮字符串的长度就是开始值,这时查找到的就是第二个匹配内容了。
public static void main(String[] args) {
String str = "Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的编程语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。";
int index = str.indexOf("Java");
if (index != -1) {
System.out.println("匹配到了Java,索引位置是" + index);
String newStr = str.substring(index+4);//(index+4,index+7);指取index后面的
//index+7指index后面七位,这指Java后三位;
System.out.println(newStr);
} else {
System.out.println("没有匹配到了Java");
}
}
取Java后三位
// 结束索引应该是 index+4+3
String newStr = str.substring(index+4,index+7);
endsWith("字符串")
; 这个方法接受一个字符串参数,用于判断是否以该字符串结束的,所以返回类型是boolean,我们就可根据返回值判断了;
public static void main(String[] args) {
String fileName = "报告.doc";
if(fileName.endsWith(".doc")){ //用endsWith判断
System.out.println("是word文档");
}
}
判断是不是安全网址,可以用startsWith来判断
public static void main(String[] args) {
String url = "https://liqur.xyz";
if(url.startsWith("https")){
System.out.println("网址是安全的");
}
}
方法 replaceAll(“要替换的值”,”新值”);
repalceAll 方法中有两个参数,第一个是要替换的值,第二个代表是新值
public static void main(String[] args) {
String str = "Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。";
String newStr = str.replaceAll("Java","Python");
System.out.println(newStr);
System.out.println(str);
}
将新值换成空格,可以删除原文本
例:去除文件后缀名
public static void main(String[] args) {
String fileName = "报告.doc";
String name = fileName.replaceAll(".doc","");
System.out.println(name);
}
split(“分割字符串”),例如\n
public static void main(String[] args){
String text = "姓名|年龄|性别\n张三|20|男\n李四|18|男\n小花|18|女";
// 使用 split 进行换行符的分割,得到一个新的数组对象
String[] data = text.split("\n");
// 因为第一行是标题不是数据,所以我们需要把长度-1
// (注意要使用小括号包围,因为要先计算长度再组合字符串)
System.out.println("共有:"+(data.length-1)+" 条记录");
}
// . | * 这三个作为分隔符就需加上 \\,如str.split("\\|");
例如
public static void main(String[] args){
String text = "姓名|年龄|性别\n张三|20|男\n李四|18|男\n小花|18|女";
// 使用 split 进行换行符的分割,得到一个新的数组对象
String[] data = text.split("\n");
// 因为第一行是标题不是数据,所以我们需要把长度-1
// (注意要使用小括号包围,因为要先计算长度再组合字符串)
System.out.println("共有:"+(data.length-1)+" 条记录");
// 忽略第一行标题数据,所以我们把 i 设为1,从第二条记录开始
for(int i=1;i<data.length;i++){
// 使用 \\| 进行字符串分割,得到一个新数组对象
String[] lines = data[i].split("\\|");
System.out.println("姓名:"+lines[0]+" 年纪:"+lines[1]+" 性别:"+lines[2]);
}
}
toUpperCase把字符串全部转为大写,toLowerCase相反
public static void main(String[] args) {
String text = "ZhanSan";
// 把拼音全部转化为大写字母
String enName = text.toUpperCase();
System.out.println(enName);
}
字符串比较方式 equals(“被比较的字符串”);
也可以用 “==”
public static void main(String[] args) {
String text = "字符串";
// 使用 equals 方法判断是否相同
if (text.equals("字符串")) {
System.out.println("equals 方法字符串相等");
}
// 前后顺序无所谓,下面代码是一样的
if ("字符串".equals(text)) {
System.out.println("equals 方法字符串相等");
}
}
把字符串转化为数字
public static void main(String[] args) {
String text = "123";
// 转化字符串为数字
int a = Integer.parseInt(text);
System.out.println(a);
// 转化字符串为数字
a = Integer.parseInt("100");
System.out.println(a);
}
数字转为字符串
①
public static void main(String[] args) {
int a = 100;
//使用空字符串相加数字,会自动变成字符串类型
String str = ""+ a;
System.out.println(str);
}
②
使用String.valueOf() 方法 ,valueOf()方法参数接受数字,浮点,布尔类型转换为字符串