2024年5月11日发(作者:)
java 字符串检索例子
嘿,大家好!今儿咱来聊聊个有趣的话题——Java中的字符串检索。说起
这个,咱们得先从字符串检索是个啥说起。其实呢,字符串检索就是在一
段文字里头,找咱想要找的那个词儿或者句子,跟咱们小时候在课本里找
生字儿似的。
在Java里头,咱有个叫`indexOf()`的方法,就是专门用来做这个的。这
个方法能告诉咱,咱要找的那个词儿或者句子,在字符串里头是从哪儿开
始的。要是没找到呢,它就返回个-1,就像咱们在课本里没找到那个生字
儿一样。
举个栗子吧,咱有个字符串`String str = "我爱吃四川火锅和陕西肉夹
馍";`,咱想知道“四川”这两个字是从哪儿开始的。咱就可以这么写:
```java
int index = f("四川");
if (index != -1) {
n("找到啦!'四川'是从第" + index + "个字符
开始的。");
} else {
n("没找到'四川'这两个字。");
}
```
这段代码运行起来,就会告诉咱“四川”是从第3个字符开始的。为啥说
是第3个字符呢?因为字符串的索引是从0开始的,所以“我”是第0个
字符,“爱”是第1个字符,“吃”是第2个字符,“四”就是第3个字
符了。
那要是咱想知道“陕西”是从哪儿开始的呢?咱就换个词儿再调用一次
`indexOf()`方法呗:
```java
int index2 = f("陕西");
if (index2 != -1) {
n("找到啦!'陕西'是从第" + index2 + "个字符
开始的。");
} else {
n("没找到'陕西'这两个字。");
}
```
这样,咱就能知道“陕西”是从哪儿开始的了。
不过呢,要是咱想找的词儿在字符串里头不止出现一次,那咋整呢?
`indexOf()`方法还有个重载版本,能接收一个额外的参数,表示从哪个
位置开始找。咱就可以利用这个特性,找到所有的位置。
举个栗子,咱还是找“四川”这两个字,但是这次咱想知道它们都出现在
哪儿:
```java
int index = f("四川");
while (index != -1) {
n("找到啦!'四川'是从第" + index + "个字符
开始的。");
index = f("四川", index + 2); // 从上次找到的位置
后面开始继续找
}
```
这段代码会告诉咱“四川”在字符串中所有出现的位置。为啥`index + 2`
呢?因为咱已经找到了“四川”这两个字,所以下次再从这两个字后面开
始找呗。
哎呀,说了这么多,大家是不是觉得Java的字符串检索还挺有意思的?
其实呢,Java里头还有很多好玩的功能等着咱去发现呢!咱要是感兴趣的
话,就一起去探索吧!
发布评论