gpt4 book ai didi

Java:子字符串.匹配数字

转载 作者:行者123 更新时间:2023-12-01 14:52:59 25 4
gpt4 key购买 nike

我正在尝试检查 teleInput 字符串中的子字符串是否包含数字,但我似乎无法让它返回 true。结果总是错误的,我做错了什么。

String teleInput = "(555)555-5555";
boolean returntT = teleInput.substring(1,3).matches(".*[0-9].*");

我是一个极端的初学者,所以我不知道我是否遗漏了一些明显的东西,例如混合方法,或者我的代码的其余部分可能有问题,无论哪种方式,我都非常感谢您的帮助!

最佳答案

你的问题是你的子字符串 - 你只返回两个字符:第二个参数是直到但不包括最后一个字符的索引。要获得 3 个角色,您需要:

teleInput.substring(1,4)

所以试试这个(注意匹配只需要检查它是否是“全数字”,因为长度已经知道是3):

teleInput.substring(1,4).matches("\\d*");

或者只是忘记子字符串并单独使用匹配:

teleInput.matches(".\\d{3}.*");

这是“任何字符然后 3 位数字然后任何内容”的正则表达式。

但是您可以在一行中验证整个输入:

teleInput.matches("(.\\d{3}){3}\\d");

您可能需要阅读正则表达式才能理解这种模式,但它确实有效!

<小时/>

注意:matches() 必须匹配整个字符串才为真。

关于Java:子字符串.匹配数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14658404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com