import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter Code");
String code = input.next();
}
public static boolean isValidCode (String code) {
}
}
当我尝试对输入进行限制时,我在java中遇到了很多麻烦。在此示例中,我需要字符串代码仅接受$
和%
等符号。我如何检查以确保没有数字、字母或其他符号?谢谢
使用字符类。
以下是您的代码:
public class Hello {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter Code");
String code = input.next();
char c = code.charAt(0);
if( (!Character.isDigit(c)) && (!Character.isLetter(c) && (!Character.isWhitespace(c)))){
if(c == '%' || c=='$'){
System.out.println("Its what u want");
}else{
System.out.println("Not what u want");
}
}else{
System.out.println("Not what u want$");
}
}
}
public static boolean isValidCode(String code) {
return code.matches("[$%]*");
}
正如您在regex javadoc中看到的,尖括号表示您可以在封闭字符(在您的情况下为$和%)之间进行选择;*说它必须出现0次或更多次。
这将使包含除$和/或%以外的任何内容的字符串无效:
public static boolean isValidCode (String code) {
return code.matches("^[$%]*$");
}
如果您还要求字符串不为空,请将*
更改为。如果您需要接受其他字符,只需将它们添加到字符类列表中(方括号之间的字符)。
如果要多次进行测试(在您发布的代码中不是这样),那么预编译模式会更有效:
private static final Pattern p = Pattern.compile("^[$%]*$");
public static boolean isValidCode (String code) {
return p.matcher(code).matches();
}
(对代码的调用匹配(…) 只是执行上述操作的一种方便方法。)
问题内容: 我正在考虑使用删除字符串中的某些字符。目前尚不清楚将要删除哪些字符(即我想删除哪些字符),但是我会假定任何字符都是有效的(例如和之类的东西,等等)。 我遇到了http://www.java-tips.org/java-se-tips/java.lang/strip-certain-characters- from-a-string.html, 但是肯定有比遍历每个字符更好的方法… 有什
问题内容: 在Python中,如何检查字符串是否仅包含某些字符? 我需要检查仅包含a..z,0..9和的字符串。(句号),没有其他字符。 我可以遍历每个字符并检查字符是a..z还是0..9或。但这会很慢。 我现在不清楚如何使用正则表达式进行操作。 这个对吗?您可以提出更简单的正则表达式还是更有效的方法? 问题答案: 决赛(?) 答案,包装在函数中,带有注释的交互式会话: 注意:在此答案中还有一个比
我正在编辑从tesseract ocr收到的一些电子邮件。 以下是我的代码: 但输出不正确。 输入: 输出: 但是当我在每次替换后将结果赋给一个新的字符串时,它工作得很好。为什么在同一个字符串中连续赋值不起作用?
下面是关于如何限制字符输入长度的代码 可以通过
问题内容: 我想创建JTextField,输入字符限于“ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZZ0123456789 +&@#/%?=〜_- |!:,。;”之类的输入字符。所以我尝试覆盖 但这不是我想要的,因为用户无法再按ctrl-c ctrl-v ctrl-x …所以我添加了 到if条件,但现在用户可以粘贴不适当的输入,即’(’
问题内容: 我正在尝试从文本文件中读取文本,读取行,删除包含特定字符串的行(在这种情况下为“坏”和“顽皮”)。我写的代码是这样的: 我这样写,但没有成功。 重要的一件事是,如果文本的内容是这样的: 我不希望输出有空行。所以不喜欢: 但是像这样: 我应该从上面的代码中编辑什么? 问题答案: 您可以像这样使代码更简单,更易读 使用上下文管理器和任何。