如何读取 java 中字符串中的特殊字符
How to read special characters in a string in java
我得到了一个字符串,我需要确定它是否包含任何特殊字符?我尝试使用 charAt()
和 ASCII values.But 它没有 work.Someone 请提前 help.Thanks。
for(int i=0;i<s.length();i++)
{
char c=s.charAt(i);
if(65<=c<=90)
{
System.out.println("Valid");
}
else if(97<=c<=122)
{
System.out.println("Invalid as it contains lower case letter");
break;
}
else if(48<=c<=57)
{
System.out.println("Invalid as it contains numbers");
break;
}
else
System.out.println("Invalid as it contains special characters");
}
像这样的东西会起作用:
public static void main(String[] args) {
String s = "asda®††∆˚∆asd121";
System.out.println(s.replaceAll("[a-zA-Z0-9]", ""));
}
O/P :
®††∆˚∆
如果替换后的大小为0,则没有特殊字符。您可以使用您认为的 special 更新正则表达式。 :)
您遇到的问题是这样的事情:65<=c<=90
在 java 中不起作用。你不能进行链式比较!
你必须这样写:
if (65 <= c && c <= 90)
或者为了提高可读性,我建议您这样做:
if ('A' <= c && c <= 'Z')
在 Java 中 65<=c<=90
不是有效的比较。
你需要这样写你的条件:
if (65<=c && c<=90) {
...
} else if (97<=c && c<=122) {
...
}
您可以使用 StringUtils :isAllUpperCase
或者如果您想检查每个字符,请尝试类似的操作。
public static boolean isUpperCase(String s)
{
for (int i=0; i<s.length(); i++)
{
if (!Character.isUpperCase(s.charAt(i)))
{
return false;
}
}
return true;
}
我得到了一个字符串,我需要确定它是否包含任何特殊字符?我尝试使用 charAt()
和 ASCII values.But 它没有 work.Someone 请提前 help.Thanks。
for(int i=0;i<s.length();i++)
{
char c=s.charAt(i);
if(65<=c<=90)
{
System.out.println("Valid");
}
else if(97<=c<=122)
{
System.out.println("Invalid as it contains lower case letter");
break;
}
else if(48<=c<=57)
{
System.out.println("Invalid as it contains numbers");
break;
}
else
System.out.println("Invalid as it contains special characters");
}
像这样的东西会起作用:
public static void main(String[] args) {
String s = "asda®††∆˚∆asd121";
System.out.println(s.replaceAll("[a-zA-Z0-9]", ""));
}
O/P :
®††∆˚∆
如果替换后的大小为0,则没有特殊字符。您可以使用您认为的 special 更新正则表达式。 :)
您遇到的问题是这样的事情:65<=c<=90
在 java 中不起作用。你不能进行链式比较!
你必须这样写:
if (65 <= c && c <= 90)
或者为了提高可读性,我建议您这样做:
if ('A' <= c && c <= 'Z')
在 Java 中 65<=c<=90
不是有效的比较。
你需要这样写你的条件:
if (65<=c && c<=90) {
...
} else if (97<=c && c<=122) {
...
}
您可以使用 StringUtils :isAllUpperCase
或者如果您想检查每个字符,请尝试类似的操作。
public static boolean isUpperCase(String s)
{
for (int i=0; i<s.length(); i++)
{
if (!Character.isUpperCase(s.charAt(i)))
{
return false;
}
}
return true;
}