【发布时间】:2016-06-07 16:38:33
【问题描述】:
我编写了一个程序,它接受一个 ASCII 字符输入(它实际上接受一个字符串,然后我使用 charAt(0))到一个 JTextField,然后使用 g2d.drawString() 显示它的十六进制、二进制、整数和八进制值。我还希望能够输入“整数”值(实际上是字符串)并显示信息。为了将“整数”值与“字符”输入分开,我希望能够按原样输入字符值,并使用模式#i 输入整数。这样,我可以使用 if 语句来检查是否遵循“整数”模式,否则(否则)将输入评估为 ascii“char”。如何检查字符串是否遵循这种模式?
示例:
字符输入:
3 //I'll evaluate this as the ascii character value of 3
int 输入:
3i //I'll evaluate this as the integer value of 3
注意:整数输入可以是多位数字。
【问题讨论】:
-
@MadProgrammer tutorialspoint.com/java/java_regular_expressions.htm 如果这就是您所说的,似乎它可能就是问题所在。谢谢。
-
基本上,我要问的问题是,你知道什么是正则表达式吗?你试过了吗,但似乎答案是(通常)不,但知道你知道,所以一切都很棒! ;)
-
@MadProgrammer 是的。非常感谢,很高兴你和 Logan 向我展示了这个,这似乎是一个非常有用的概念。我没有意识到有一个完整的类是用来查找字符串模式的。当我查找模式时,我通常将 String 拆分为一个 char 数组,然后使用 switch 语句在数组中循环查找我需要的字符。当然,在这种情况下不起作用,因为我不知道字符串的长度,因为输入的值可能是多位数字。
-
哦,是的,您应该一定了解正则表达式。如果使用得当,它们可以非常强大,但它们不能做所有事情,例如。尽管很多人一直在尝试,但它们无法处理复杂的嵌套语法。