java 取出字符串中的英文?

我想请说下,java 取出字符串中的英文?
最新回答
霸气御姐范

2024-04-22 02:18:27

你可以这要做:把字符串中的不是英文的字符替换为"" 这样就会得到一个新的字符串
这个新的字符串就是你想要的

代码:
public static void getEng(String s){
return s.replaceAll("[a-zA-Z]","");
}
七米海岸

2024-04-22 10:55:38

public class asdf {
  public static void main(String[] args) {
   String str = "中文asd";
   StringBuffer sb = new StringBuffer();
   char[] c = str.toCharArray();
   for(int i = 0; i < c.length; i++) {
   if(c[i] >=65 && c[i] <= 122) {
   sb.append(c[i]);
   }
   }
   String str2 = sb.toString();
   System.out.println(str2);
  }
}

if(c[i] >=65 && c[i] <= 122) 这里的65 和 122是‘A’和‘z’的asciI码,这个范围包含了全部的英文字母即A~Z和a~z
少女心泛滥

2024-04-22 06:36:26

String string ="abc123";
StringBuffer result = new StringBuffer();
for(int i = 0;i<string.length();i++){
char a = string.charAt(i);
if((((int)a)>=65&&((int)a)<=90)||(((int)a)>=97&&((int)a)<=122)){
result.append(a);
}
}
System.out.println(result.toString());
一见钟情我相信

2024-04-22 00:03:37

substring(int begin,int end)这个函数就可以满足你的要求
abc123.substring(0,3)
追问
这样不行,我的是动态的那数据长度会变的
追答
str = Regex.Replace(str, "\\d", ""); 好像是这个 我现在没环境试
再难遇我

2024-04-22 04:03:55

正则表达式不会...
不过可以先用toCharArray 转换成char数组 然后根据askii码来判断是不是字符之类的.....