Java 我将使用什么方法来查看斜杠是否在字符串中的某个位置?
我需要帮助了解如何检查斜杠是否正确输入日期: 年月日 我使用了:Java 我将使用什么方法来查看斜杠是否在字符串中的某个位置?,java,Java,我需要帮助了解如何检查斜杠是否正确输入日期: 年月日 我使用了: int index1 = date.charAt(3) int index2 = date.charAt(6) 但这给了我一个越界的范围 有什么建议吗 谢谢 首先,如果您遇到越界异常,那么字符串太短,索引3或6。在检查特定索引之前,使用length()方法测试字符串的长度。如果它太短,那么它在不存在的位置没有斜杠 其次,Java中的索引以0开始,因此给定格式mm/dd/yyyy,您将在索引2和5处查找或删除索引,不是3和6不要尝
int index1 = date.charAt(3)
int index2 = date.charAt(6)
但这给了我一个越界的范围
有什么建议吗
谢谢 首先,如果您遇到越界异常,那么字符串太短,索引
3
或6
。在检查特定索引之前,使用length()
方法测试字符串的长度。如果它太短,那么它在不存在的位置没有斜杠
其次,Java中的索引以
0
开始,因此给定格式mm/dd/yyyy
,您将在索引2
和5
处查找或删除索引,不是3
和6
不要尝试从字符串中不存在的位置检索字符?这意味着有人放置了比您预期的短的字符串,您最终尝试在不存在的位置读取字符(超出范围/界限)。首先检查字符串的length()
,或者使用一些正则表达式,如\d{2}/\d{2}\d{4}
来检查字符串是否匹配。要使其成为MM/dd/yyyy
格式,必须正好有10个字符。首先检查这个,你的charAt方法就会起作用。这个方法非常脆弱。它将在fr/ee/beer
上失败(当索引更正时)。验证斜杠的存在有什么作用?另外,如果要解析日期,我建议使用SimpleDateFormat
。