JAVA string函数总结.docx
### JAVA String 类函数总结 #### 一、字符串创建与初始化 在 Java 中,`String` 类是最常用的字符串处理工具之一。它可以用来表示一系列字符,并且提供了丰富的方法来操作这些字符。下面通过示例代码展示了如何创建字符串: ```java String str1 = "hello"; // 直接赋值创建字符串 char[] a = {'w', 'o', 'r', 'l', 'd'}; String str2 = new String(a); // 通过字符数组创建字符串 ``` #### 二、字符串连接 字符串可以通过 `+` 运算符进行连接。例如: ```java String s1 = str1 + "" + str2; // 结果为 "helloworld" ``` #### 三、获取字符串信息 - **字符串长度**:使用 `length()` 方法可以获取字符串的长度。 - **字符串查找**: - 使用 `indexOf(String)` 方法可以查找指定子串首次出现的位置,如果未找到则返回 `-1`。 - 使用 `lastIndexOf(String)` 方法可以查找指定子串最后出现的位置,如果未找到则返回 `-1`。 - 当查找的字符为空时,`lastIndexOf("")` 返回的是字符串的长度。 - **获取指定索引位置的字符**:使用 `charAt(int)` 方法可以获取指定索引位置的字符。 示例代码如下: ```java int size = s1.length(); // 获取s1的长度结果为11 int position = s1.indexOf("l"); // 第一次出现字符串l的位置,2 position = s1.indexOf("k"); // 找不到,返回-1 position = s1.lastIndexOf("l"); // 最后一次出现位置,9 position = s1.lastIndexOf("k"); // 找不到,返回-1 position = s1.lastIndexOf(""); // 若字符为空,返回长度11 char ch = s1.charAt(6); // 输出w ``` #### 四、字符串操作 - **获取子字符串**:使用 `substring(int beginIndex)` 或 `substring(int beginIndex, int endIndex)` 方法获取子字符串。 - **去除空格**:使用 `trim()` 方法去除字符串两端的空白字符。 - **字符串替换**:使用 `replace(String oldChar, String newChar)` 方法替换字符串中的字符或子串。 - **判断字符串的开始与结尾**:使用 `startsWith(String prefix)` 和 `endsWith(String suffix)` 方法判断字符串是否以特定的子串开头或结尾。 - **判断字符串是否相等**:使用 `equals(Object anObject)` 和 `equalsIgnoreCase(String anotherString)` 方法判断两个字符串是否相等。其中 `equalsIgnoreCase` 方法不区分大小写。 - **按字典顺序比较两个字符串**:使用 `compareTo(String anotherString)` 方法比较两个字符串的字典顺序。 - **字母大小写转换**:使用 `toLowerCase()` 和 `toUpperCase()` 方法转换字符串的大小写。 - **字符串分割**:使用 `split(String regex)` 方法根据正则表达式分割字符串。 示例代码如下: ```java String s2 = s1.substring(3); // s2为"loworld" s2 = s1.substring(0, 3); // s2为"hel" String s3 = " helloworld "; s2 = s3.trim(); // s2为"helloworld" s2 = s1.replace("hello", "hi"); // s2为"hiworld" boolean b = s1.startsWith("he"); // true b = s1.endsWith("d"); // true s2 = "HelloWorld"; b = s1.equals(s2); // false b = s1.equalsIgnoreCase(s2); // true int t = s1.compareTo(s2); // 返回一个正值 String s3 = s2.toLowerCase(); // s3为"helloworld" s3 = s2.toUpperCase(); // s3为"HELLOWORLD" String[] strArray = s1.split(""); // strArray[0]="hello", strArray[1]="world" strArray = s1.split("o", 3); // strArray[0]="hell", strArray[1]="w", strArray[2]="rld" ``` #### 五、格式化字符串 - **时间日期格式化**:使用 `String.format` 方法可以按照指定格式输出时间日期。 - **常规类型格式化**:使用 `String.format` 方法可以将数字或其他类型的数据按照指定格式输出。 示例代码如下: ```java Date data = new Date(); String year = String.format("%tY", data); // 取data的四位年份 String time = String.format("%tc", data); // 全部时间信息 s2 = String.format("%d", 200 / 2); // 将结果以十进制100格式显示 ``` #### 六、正则表达式 在 Java 中,可以使用正则表达式来进行复杂的字符串匹配和提取工作。下面是一个简单的正则表达式示例: ```java String regex = "\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}"; // 匹配电子邮件地址 String s1 = "sss@"; String s2 = "111@111fa.dfu.com"; boolean b = s1.matches(regex); // false,s1是否符合regex的规则 b = s2.matches(regex); // true,s2是否符合regex的规则 ``` #### 七、字符串生成器:`StringBuilder` `StringBuilder` 类类似于 `StringBuffer`,但它是非线程安全的。因此,在单线程环境下,使用 `StringBuilder` 通常比使用 `StringBuffer` 性能更高。下面是一些常用的方法: - **追加内容**:使用 `append(Object)` 方法可以在现有内容后面追加新的内容。 - **插入内容**:使用 `insert(int offset, Object obj)` 方法可以在指定位置插入新的内容。 - **删除内容**:使用 `delete(int start, int end)` 方法可以删除指定范围内的内容。 示例代码如下: ```java StringBuilder builder = new StringBuilder("hello"); builder.append("!"); // builder为"hello!" 在后面添加字符 builder.insert(6, "world"); // builder为"helloworld!" 在第六位开始插入 builder.delete(0, 6); // builder为"world!" 删除 ``` 以上就是对 Java 中 `String` 类的主要函数的总结,包括了字符串的创建、连接、获取信息、各种操作方法以及格式化和正则表达式的使用等内容。这些知识点对于日常开发非常重要,希望对你有所帮助。