java 获取某个字符出现的下标
时间: 2024-01-26 11:02:09 浏览: 78
要获取某个字符在字符串中出现的下标,可以使用 Java String 类的 indexOf() 方法。该方法返回指定字符在字符串中第一次出现的位置,如果字符没有出现,则返回 -1。
以下是一个示例代码:
```java
String str = "hello world";
char c = 'o';
int index = str.indexOf(c);
System.out.println("字符 '" + c + "' 在字符串 '" + str + "' 中的下标为: " + index);
```
输出结果为:
```
字符 'o' 在字符串 'hello world' 中的下标为: 4
```
如果需要获取字符在字符串中所有出现的位置,可以使用类似以下的代码:
```java
String str = "hello world";
char c = 'o';
int index = -1;
while ((index = str.indexOf(c, index + 1)) != -1) {
System.out.println("字符 '" + c + "' 在字符串 '" + str + "' 中的下标为: " + index);
}
```
输出结果为:
```
字符 'o' 在字符串 'hello world' 中的下标为: 4
字符 'o' 在字符串 'hello world' 中的下标为: 7
```
相关问题
java8获取某个字符串第一次出现的下表
### 回答1:
可以使用Java 8中的`indexOf(int ch)`方法来获取某个字符在字符串中的第一次出现的下标。
例如:
```
String str = "Hello World";
int index = str.indexOf('o');
System.out.println(index);
```
输出:
```
4
```
如果没有找到该字符,则返回-1。
例如:
```
String str = "Hello World";
int index = str.indexOf('x');
System.out.println(index);
```
输出:
```
-1
```
### 回答2:
在Java 8中,我们可以使用String类的indexOf方法来获取某个字符串第一次出现的下标。该方法会返回第一次出现指定字符串的索引位置,如果没有找到则返回-1。
例如,我们有一个字符串str = "Hello, world!",我们想要找到字符串"world"第一次出现的下标,可以使用以下代码:
```
String str = "Hello, world!";
int index = str.indexOf("world");
if (index != -1) {
System.out.println("字符串\"world\"第一次出现的下标为:" + index);
} else {
System.out.println("字符串\"world\"未找到!");
}
```
输出结果为:
```
字符串"world"第一次出现的下标为:7
```
如果没有找到指定字符串,输出结果将为:
```
字符串"world"未找到!
```
通过使用indexOf方法,我们可以轻松地获取某个字符串在另一个字符串中第一次出现的下标。
### 回答3:
在Java 8中,可以使用String类的indexOf方法来获取某个字符串第一次出现的索引。indexOf方法的语法为:
int indexOf(String str)
其中,str表示要搜索的字符串。
举个例子来说明如何使用indexOf方法来获取某个字符串第一次出现的索引。假设我们有一个字符串str,内容为"Hello World",现在我们想获取字符串"World"第一次出现的索引。
首先,我们需要将该字符串赋值给一个变量:
String str = "Hello World";
然后,我们可以使用indexOf方法来获取字符串"World"第一次出现的索引:
int index = str.indexOf("World");
如果字符串"World"存在于字符串str中,则index的值将为其第一次出现的索引(索引从0开始计数)。如果字符串"World"不存在于字符串str中,则index将为-1。
最后,我们可以通过打印index的值来查看字符串"World"第一次出现的索引:
System.out.println(index);
以上就是使用Java 8获取某个字符串第一次出现的索引的方法。请注意,indexOf方法只能获取字符串第一个出现的索引,如果你想获取所有出现的索引,你可能需要使用其他方法或循环来实现。
用stream流查询String[] selecteds中某个字符串的下标
您可以使用Java 8的Stream流来查询String[] selecteds数组中某个字符串的下标。下面是一个示例代码:
```java
import java.util.Arrays;
import java.util.OptionalInt;
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
String[] selecteds = {"apple", "banana", "orange", "grape"};
String target = "banana";
OptionalInt index = IntStream.range(0, selecteds.length)
.filter(i -> selecteds[i].equals(target))
.findFirst();
if (index.isPresent()) {
System.out.println("Target string found at index: " + index.getAsInt());
} else {
System.out.println("Target string not found in the array.");
}
}
}
```
在上述代码中,我们使用`IntStream.range(0, selecteds.length)`创建一个整数流,范围是从0到`selecteds`数组的长度减1。然后使用`filter`方法过滤出与目标字符串相等的元素的下标,使用`findFirst`方法获取第一个匹配的下标。最后,我们检查该下标是否存在,并打印相应的消息。
请注意,这里假设目标字符串在数组中只出现一次。如果目标字符串可能出现多次,您可以使用`filter`后面的`collect`方法收集所有匹配的下标到一个列表中。
阅读全文