JAVA在字符串中,从出现的第一个英文字符开始进行截取,直到遇到第一个非英文字符为止。输出截取的英文字符串。
时间: 2024-09-25 14:11:11 浏览: 91
在Java中,你可以使用正则表达式结合`indexOf()`和`substring()`方法来实现这个需求。这里是一个示例:
```java
public class Main {
public static void main(String[] args) {
String str = "Hello, 你好! This is a test.";
int start = str.indexOf("[a-zA-Z]");
if (start != -1) { // 如果找到英文字符
int end = str.indexOfFirstNonAlphanumeric(start);
String result = str.substring(start, end);
System.out.println("英文字符串: " + result);
} else {
System.out.println("字符串中没有英文字符");
}
}
private static int indexOfFirstNonAlphanumeric(int startIndex) {
return str.substring(startIndex).indexOfAny(Character.isLetterOrDigit() ? null : "[^\p{L}\p{Nd}]+"); // 使用正则匹配非字母数字字符
}
}
```
在这个例子中,我们首先找到第一个英文字符的位置(`indexOf("[a-zA-Z]")`),然后查找第一个非英文字符的位置(`indexOfFirstNonAlphanumeric(start)`)。如果找到了非英文字符,就使用`substring(start, end)`截取并打印结果。
阅读全文