1.比较字符串
字符串最常见的操作之一是比较。String 类有十多种不同的方法,用于将一个字符串与另一个字符串进行比较。下面我们将看看其中的七个主要部分。
方法 | 描述 |
---|---|
|
如果所有字符都匹配,则认为字符串相等。 |
|
比较字符串,忽略字母的大小写(忽略它们是大写还是小写) |
|
按字典顺序比较字符串。如果字符串相等,则返回 0。如果当前字符串小于字符串参数,则返回值小于零。如果当前字符串大于字符串参数,则返回值大于。 |
|
在忽略大小写的情况下按字典顺序比较字符串。如果字符串相等,则返回 0。如果当前字符串小于字符串参数,则返回值为负。如果当前字符串大于字符串参数,则返回值大于。 |
|
比较部分字符串 |
|
检查当前字符串是否以该字符串开头prefix |
|
检查当前字符串是否以该字符串结尾suffix |
假设您要编写一个程序,要求用户提供文件路径,然后根据扩展名检查文件类型。此类程序的代码可能如下所示:
代码 | 笔记 |
---|---|
|
创建一个Scanner 对象从控制台读取一行 检查字符串是否 path 以给定的字符串结尾 |
2.搜索子串
在比较字符串之后,第二个最流行的操作是在另一个字符串中查找一个字符串。String 类也为此提供了一些方法:
方法 | 描述 |
---|---|
|
str 在当前字符串中搜索字符串。返回第一次出现的第一个字符的索引。 |
|
str 在当前字符串中搜索字符串,跳过第一个index 字符。返回出现的索引。 |
|
在当前字符串中搜索字符串str ,从末尾开始。返回第一次出现的索引。 |
|
str 从末尾搜索当前字符串中的字符串,跳过第一个index 字符。 |
|
检查当前字符串是否与正则表达式指定的模式匹配。 |
和方法经常结合使用indexOf(String)
。indexOf(String, index)
第一个方法让您找到当前字符串中传递的子字符串的第一次出现。第二种方法允许您通过跳过第一个索引字符来查找第二个、第三个等事件。
假设我们有一个像“ https://domain.com/about/reviews ”这样的 url ,我们想用“ codegym.cc ”替换域名。网址可以有各种不同的域名,但我们知道以下内容:
- 域名前面有两个正斜杠 - "
//
" - 域名后跟一个正斜杠 - "
/
"
此类程序的代码如下所示:
代码 | 笔记 |
---|---|
|
创建一个 Scanner 对象 从控制台读取一行 获取字符串“ // ”第一次出现的索引 我们获取字符串第一次出现的索引 / ,但只在字符出现后查找// 。我们从字符的开头到结尾获取字符串我们从字符的结尾 // 获取字符串。 我们连接字符串和新域。 / |
和方法lastIndexOf(String)
的lastIndexOf(String, index)
工作方式相同,只是从字符串的末尾到开头执行搜索。
3. 创建子串
除了比较字符串和查找子串之外,还有一个非常流行的动作:从字符串中获取子串。碰巧的是,前面的示例向您展示了一个substring()
返回部分字符串的方法调用。
以下是从当前字符串返回子字符串的 8 种方法的列表:
方法 | 描述 |
---|---|
|
返回索引范围指定的子字符串beginIndex..endIndex 。 |
|
重复当前字符串 n 次 |
|
返回一个新字符串:oldChar 用字符替换字符newChar |
|
替换当前字符串中由正则表达式指定的第一个子字符串。 |
|
替换当前字符串中与正则表达式匹配的所有子字符串。 |
|
将字符串转换为小写 |
|
将字符串转换为大写 |
|
删除字符串开头和结尾的所有空格 |
以下是可用方法的摘要:
substring(int beginIndex, int endIndex)
方法
该substring
方法返回一个新字符串,该字符串由当前字符串中的字符组成,从具有索引的字符开始,beginIndex
到endIndex
. 与 Java 中的所有间隔一样,具有索引的字符endIndex
不包含在间隔中。例子:
代码 | 结果 |
---|---|
|
|
|
|
|
|
|
|
如果endIndex
未指定参数(这是可能的),则子字符串将从 beginIndex 处的字符获取到字符串的末尾。
repeat(int n)
方法
repeat 方法简单地重复当前字符串的n
次数。例子:
代码 | 结果 |
---|---|
|
|
|
|
|
|
|
|
replace(char oldChar, char newChar)
方法
该replace()
方法返回一个新字符串,其中所有字符oldChar
都替换为字符newChar
。这不会改变字符串的长度。例子:
代码 | 结果 |
---|---|
|
|
|
|
|
|
|
|
replaceFirst()
和replaceAll()
方法
该replaceAll()
方法将所有出现的一个子字符串替换为另一个子字符串。该replaceFirst()
方法用指定的子字符串替换第一次出现的传递的子字符串。要替换的字符串由正则表达式指定。我们将在Java 多线程任务中深入研究正则表达式。
例子:
代码 | 结果 |
---|---|
|
|
|
|
|
|
|
|
toLowerCase() and toUpperCase()
方法
当我们第一次学习调用类的方法时,我们就知道了这些方法String
。
trim()
方法
该trim()
方法从字符串中删除前导和尾随空格。不接触字符串内的空格(即不在开头或结尾)。例子:
代码 | 结果 |
---|---|
|
|
|
|
|
|
|
|
GO TO FULL VERSION