当前位置: 首页 > 面试题库 >

如何确定字符串的第一个字符是否为数字?

拓拔骁
2023-03-14
问题内容

在Java中,有没有一种方法可以确定字符串的第一个字符是否为数字?

一种方法是

string.startsWith("1")

并一直执行到9点,但这似乎效率很低。


问题答案:
Character.isDigit(string.charAt(0))

请注意,这将允许使用 任何
Unicode数字
,而不仅仅是0-9。您可能更喜欢:

char c = string.charAt(0);
isDigit = (c >= '0' && c <= '9');

或较慢的正则表达式解决方案:

s.substring(0, 1).matches("\\d")
// or the equivalent
s.substring(0, 1).matches("[0-9]")

但是,使用这些方法中的任何一种,必须首先确保该字符串不为空。如果是,charAt(0)而且substring(0, 1)将引发StringIndexOutOfBoundsExceptionstartsWith没有这个问题。

要使整个条件只占一行,并避免长度检查,可以将正则表达式更改为以下内容:

s.matches("\\d.*")
// or the equivalent
s.matches("[0-9].*")

如果条件没有出现在程序的紧密循环中,则使用正则表达式对性能的影响很小。



 类似资料:
  • 问题内容: 我需要一个可以告诉我字符串是否包含非字母数字字符的方法。 例如,如果字符串为“ abcdef?” 或“abcdefà”,该方法必须返回true。 问题答案: 使用Apache Commons Lang: 另一种方法是遍历String的字符并检查: 您还剩下一个问题:示例字符串“abcdefà”是字母数字,因为是字母。但我认为您希望将其视为非字母数字,对吗? 因此,您可能想使用正则表达式

  • 例如: 字符串1=helloworld字符串2=asdfuvjerhelloworld 这应该是真的。 另一个例子:字符串1=helloworld字符串2=lshewodxzr 这也应该是真的。 所以我正在研究如何创建一个方法,它将返回一个布尔值,检查第二个字符串是否包含第一个字符串中的字母。在第二个示例中,string2只有一次字母l,尽管字母l在string1中出现了三次,但仍然返回true。

  • 问题内容: 有谁知道PHP的健壮(和防弹)is_JSON函数代码片段?我(显然)遇到一种情况,我需要知道字符串是否为JSON。 嗯,也许通过JSONLint请求/响应来运行它,但这似乎有点过头了。 问题答案: 如果您使用内置的PHP函数,则 返回最后一个错误(例如, 当您的字符串不是JSON时)。 无论如何通常都会返回。

  • 问题内容: 我有一个子字符串: 我还有另一个字符串: 如何查找是否是使用Python的子集? 问题答案: 用::

  • 问题内容: 假设您有一个要测试的字符串,以确保在继续其他代码之前,该字符串包含整数。在Java中,您将使用什么来确定它是否为整数? 问题答案: 如果要确保它 只是 一个整数并将其转换为一个整数,则可以在中使用parseInt。但是,如果要检查字符串是否包含数字,则最好将String.matches与正则表达式配合使用:

  • 问题内容: 我有两个字符串,我想检查第一个是否是另一个的子字符串。Python是否具有这样的内置功能? 问题答案: 尝试像这样使用: