输入一个中英文字符串,输出字符串的长度并且出去第一个英文字符到第一个中文字符之前的字符
时间: 2024-09-26 22:07:26 浏览: 25
好的,您可以使用Java编写如下的函数来实现这个功能:
```java
public class Main {
public static void main(String[] args) {
String input = "Hello, 你好 World!";
System.out.println("输入字符串的总长度: " + getEnglishToChineseLength(input));
}
public static int getEnglishToChineseLength(String str) {
int englishIndex = -1;
for (int i = 0; i < str.length(); i++) {
if (Character.isLetter(str.charAt(i))) {
englishIndex = i;
break;
}
}
if (englishIndex == -1) { // 如果没有找到英文字符,返回整个字符串长度
return str.length();
} else {
int chineseIndex = str.indexOf('\u4e00', englishIndex); // 使用Unicode编码查找第一个中文字符
if (chineseIndex == -1) {
return englishIndex; // 如果没有中文字符,返回英文字符的位置
} else {
return englishIndex; // 返回英文字符到第一个中文字符之前的部分的长度
}
}
}
}
```
运行此程序会输出英文字符到第一个中文字符之间的字符数。注意这里假设第一个中文字符是ASCII码之外的第一个字符。
阅读全文