我正在尝试编写一个接受输入的函数,检查它是否将“[”作为第一个字符,“]”作为最后一个字符,如果有,则将其删除。字符串中可能有更多的括号,如果是这种情况,那么我需要打印一个错误语句。在我看过的任何地方,如果只是两个括号,我都看到了如何做到这一点的例子,但我需要检查是否还有更多,这就是我感到困惑的地方。
我看过使用的例子regex,我知道如果我能找到一个只有两个括号在外面的字符串,我可以用substring它来修剪它,但我不知道如何检查字符串的实例括号而不删除所有这些。
帮助将不胜感激。谢谢。
if(str.chatAt(0) == '[' && str.charAt(str.length()-1) == ']') //str.matches("\\[.*\\]")
{
str = str.substring(1, str.length() - 1);
}
if(str.contains("[") || str.contains("]")) //str.matches(".*[\\[\\]].*")
{
//throw your error
}
Run Code Online (Sandbox Code Playgroud)
在 if 语句旁边发布了潜在的正则表达式解决方案。警告:在正则表达式方面不是最好的,所以它们可能不正确。
正如@Ingo 在评论中指出的那样,str.charAt(0)将在空字符串上失败。
| 归档时间: |
|
| 查看次数: |
5511 次 |
| 最近记录: |