Java String类

字符串转义符号为 \
常见的转义字符
转移字符对应的英文是 escape character , 转义字符串( Escape Sequence )
字母前面加上捺斜线 "" 来表示常见的那些不能显示的 ASCII 字符 . 称为转义字符 . 如 \0,\t,\n 等,就称为转
义字符,因为后面的字符,都不是它本来的 ASCII 字符意思了。
常用方法

  1. length() 字符个数
  2. equals equalsIgnoreCase 方法
  3. trim 方法
  4. substring 方法
  5. concat ()方法用于将指定的字符串参数连接到字符串上。
  6. contains() 判断是否包括某字符串,返回的是 true false
  7. indexOf ()返回子串的位置索引,没有返回 -1
  8. lastIndexOf () 返回子串的位置索引,没有返回 -1
  9. replace ()替换返回
  10. split ()拆分为 String[]
  11. toLowerCase () toUpperCase ()转换小写大写
    转义字符
    所有的转义字符和所对应的意义:

    文本块 text block
    文字块( text blocks )这个特性,首先在 JDK 13 中以预览版的形式发布。在 JDK 14 中,改进的文
    字块再次以预览版的形式发布。最后,文字块在 JDK 15 正式发布。
    在没有使用文字块之前,我们项目中也许有这样的一串代码:
java 复制代码
String htmlString =
"<!DOCTYPE html>\n" +
"<html>\n" +
" <body>\n" +
" <h1>\"Hello World!\"</h1>\n" +
" </body>\n" +
"</html>\n";
System.out.println(htmlString);
java 复制代码
字符串截取案例

// linux /usr/local/jdk/
//windows d:\\jdk\\jdk-17
String file = "c:/user/abc/upload/xxsfasf.afasf-asfas.jpg";
//求出文件目录 c:/user/abc/upload/
//求出文件名称 xxsfasf.afasf-asfas.jpg
//求出文件的扩展名 jpg
//将字符串替换为c:/user/abc/upload/20211202154333.jpg



java11 字符串新特性方法

package cn.ex;
import java.io.File;
import java.util.UUID;
/**
* @author webrx
* @since 17
*/
public class Ex2 {
public static void main(String[] args) {
String p = "d:/xxx/user/user_abc.jpg";
System.out.println(p);
//File.separator 是根据系统返回相关的符号 linux / windows \ \\
String fc = File.separator;
fc = p.indexOf(fc) == -1 ? "/" : fc;
System.out.println(fc);
String path = p.substring(0, p.lastIndexOf(fc)).concat(fc);
System.out.println(path);
String name = p.substring(p.lastIndexOf(fc) + 1);
System.out.println(name);
String ext = name.lastIndexOf(".") == -1 ? "" :
name.substring(name.lastIndexOf(".") + 1);
System.out.println(ext);
UUID uuid = UUID.randomUUID();
String newp = String.format("%s%s.%s", path, uuid, ext);
System.out.println(newp);
}
}
java 复制代码
java 11 string api

// 判断字符串是否为空白
" ".isBlank(); // true
// 去除首尾空格 .trim()
" Javastack ".strip(); // "Javastack"
// 去除尾部空格
" Javastack ".stripTrailing(); // " Javastack"
// 去除首部空格
" Javastack ".stripLeading(); // "Javastack "
// 复制字符串
"Java".repeat(3); // "JavaJavaJava"
// 行数统计
"A\nB\nC".lines().count(); // 3
String str = "Java";
// 小于0:java.lang.IllegalArgumentException
System.out.println(str.repeat(-2));
// 等于0:空白串("")
System.out.println(str.repeat(0));
// JavaJavaJava
System.out.println(str.repeat(3));
// java.lang.OutOfMemoryError
System.out.println(str.repeat(Integer.MAX_VALUE));
// 4
System.out.println("A\nB\nC\rD".lines().count());
String s1 = " hello java 1.8 ";
System.out.println(s1);
//.concat() 方法相当于 + 属性字符串连接
System.out.println("hello".concat("\s".repeat(30)).concat("java19"));
System.out.println("hello" + "\s".repeat(30) + "java19");
//清除首尾连续空格
System.out.println(s1.trim());
System.out.println(s1.strip());
System.out.println(s1.stripLeading());
System.out.println(s1.stripTrailing());
//清除所有空格
System.out.println(s1.replace(" ",""));

System.out.println("------------");
System.out.println("".isBlank());
System.out.println("".isEmpty());
System.out.println(" ".isBlank());//true
System.out.println(" ".isEmpty());//false
System.out.println(" ".trim().length() == 0 ? "空字符串" : "正确");
System.out.println(" ".isBlank() ? "空字符串" : "正确");
System.out.println("*".repeat(60));
System.out.println("------------");
//求字符串中行数
System.out.println("hello\njava\nok\n123\nmysql");
System.out.println("hello\njava\nok\n123\nmysql".lines().count());
java 复制代码
判断一个对象是否属于一个类可以用关键字instanceof,它是二元操作符,格式为:
对象 instanceof 类名
式子的值为一个布尔值(boolean)

Object sth;
boolean isString = sth instanceof String;

或者

if (sth instanceof String) {
// your code
}





字符串添加方法
序
号
方法描述
1 public StringBuffer append(String s) 将指定的字符串追加到此字符序列。
2 public StringBuffer reverse() 将此字符序列用其反转形式取代。
3 public StringBuilder delete(int start, int end) 移除此序列的子字符串中的字符。
4 public insert(int offset, int i) 将 int 参数的字符串表示形式插入此序列中。
5 insert(int offset, String str) 将 str 参数的字符串插入此序列中。
6 replace(int start, int end, String str) 使用给定 String 中的字符替换此序列的子字符串
中的字符。

1 int capacity() 返回当前容量。
2 char charAt(int index) 返回此序列中指定索引处的 char 值。
3 void ensureCapacity(int minimumCapacity) 确保容量至少等于指定的最小值。
4
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 将字符从此序列复制到目
标字符数组 dst 。
5 int indexOf(String str) 返回第一次出现的指定子字符串在该字符串中的索引。
6
int indexOf(String str, int fromIndex) 从指定的索引处开始,返回第一次出现的指定子字符
串在该字符串中的索引。
7 int lastIndexOf(String str) 返回最右边出现的指定子字符串在此字符串中的索引。
8 int lastIndexOf(String str, int fromIndex) 返回 String 对象中子字符串最后出现的位置。
9 int length() 返回长度(字符数)。
10 void setCharAt(int index, char ch) 将给定索引处的字符设置为 ch 。
11 void setLength(int newLength) 设置字符序列的长度。
12
CharSequence subSequence(int start, int end) 返回一个新的字符序列,该字符序列是此
序列的子序列。
13
String substring(int start) 返回一个新的 String ,它包含此字符序列当前所包含的字符子
序列。
14
String substring(int start, int end) 返回一个新的 String ,它包含此序列当前所包含的字
符子序列。
15 String toString() 返回此序列中数据的字符串表示形式。
相关推荐
重生之我在20年代敲代码2 分钟前
strncpy函数的使用和模拟实现
c语言·开发语言·c++·经验分享·笔记
爱上语文3 分钟前
Springboot的三层架构
java·开发语言·spring boot·后端·spring
serve the people7 分钟前
springboot 单独新建一个文件实时写数据,当文件大于100M时按照日期时间做文件名进行归档
java·spring boot·后端
qmx_071 小时前
HTB-Jerry(tomcat war文件、msfvenom)
java·web安全·网络安全·tomcat
为风而战1 小时前
IIS+Ngnix+Tomcat 部署网站 用IIS实现反向代理
java·tomcat
编程零零七2 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
技术无疆3 小时前
快速开发与维护:探索 AndroidAnnotations
android·java·android studio·android-studio·androidx·代码注入
2401_858286113 小时前
52.【C语言】 字符函数和字符串函数(strcat函数)
c语言·开发语言
铁松溜达py3 小时前
编译器/工具链环境:GCC vs LLVM/Clang,MSVCRT vs UCRT
开发语言·网络
everyStudy3 小时前
JavaScript如何判断输入的是空格
开发语言·javascript·ecmascript