如何在java中删除汉字 public class RemoveHZ//删除汉字 { 公共静态字符串处理(字符串s){ StringBuffer sb=新的StringBuffer; StringBuffer se=new StringBuffer();//存储最终结果 int l=sb.length(); 字符c; 对于(int i=0;i40&&c
计算机上的每个字符都有一个值。这是因为计算机不能像人一样“读取”字符。例如,这些值存储在ASCII表中。如果在代码中打印出如何在java中删除汉字 public class RemoveHZ//删除汉字 { 公共静态字符串处理(字符串s){ StringBuffer sb=新的StringBuffer; StringBuffer se=new StringBuffer();//存储最终结果 int l=sb.length(); 字符c; 对于(int i=0;i40&&c,java,Java,计算机上的每个字符都有一个值。这是因为计算机不能像人一样“读取”字符。例如,这些值存储在ASCII表中。如果在代码中打印出c,则可以看到这些值 汉字的值为: 20320 22909 21834 如果查看下面的ASCII表,您可以看到您提供的代码过滤掉了从)到~的所有字符 如果表中的字符介于40和127之间,则循环遍历每个字符,并仅将其附加到StringBuffer 因此,print语句将只打印以下字符: )*+,-./0-9:;?@A-Z^ A-Z{|} 请注意,您排除了(和DEL(由于从4
c
,则可以看到这些值
汉字的值为:
- 20320
- 22909
- 21834
)
到~
的所有字符
如果表中的字符介于40和127之间,则循环遍历每个字符,并仅将其附加到
StringBuffer
因此,print语句将只打印以下字符:
)*+,-./0-9:;<=>?@A-Z^ A-Z{|}
请注意,您排除了(
和DEL
(由于从41开始到126结束)尝试以下方法:
public class RemoveHZ //remove chinese characters
{
public static String deal(String s){
StringBuffer sb = new StringBuffer(s);
StringBuffer se = new StringBuffer(); //store final results
int l = sb.length();
char c;
for(int i=0; i<l; i++){
c = sb.charAt(i); //get each char from string
if(c>40 && c<127){ //what does this mean?
se.append(c);
}
}
return new String(se);
}
public static void main(String[] args)
{
System.out.println(deal("hello你好啊"));
}
}
公共类删除hz{
公共静态字符串处理(字符串s){
StringBuffer sb=新的StringBuffer;
StringBuffer se=new StringBuffer();//存储最终结果
int l=sb.length();
字符c;
对于(int i=0;i
另一个解决方案是使用
if(!Character.isIdeographic))
但这也会从其他语言中删除字符。这意味着您希望您的ASCII字符代码介于40和127之间,查看ASCII图表将帮助您理解其含义!您应该检查大于32的字符值。c>32
因为这些字符“,#,%,(小于40。这个问题意味着需要提取局部变量重构来为概念命名,比如isPrintableBasicLatinCharacter
。请参阅IDE文档。顺便说一句,Java不使用ASCII。请参阅。
public class RemoveHZ {
public static String deal(String s) {
StringBuffer sb = new StringBuffer(s);
StringBuffer se = new StringBuffer(); //store final results
int l = sb.length();
char c;
for (int i = 0; i < l; i++) {
c = sb.charAt(i); //get each char from string
if (Character.UnicodeScript.of(c) != Character.UnicodeScript.HAN) {
se.append(c);
}
}
return new String(se);
}
public static void main(String[] args) {
System.out.println(deal("hello你好啊"));
}
}