如何检查一个字符串是否以双引号开头?

4
每次我写"时,我的编译器都会认为我在尝试写一个字符串。相反,我希望我的方法告诉我传入的字符串是否以双引号""开头。例如:
String n;
if(n==n.startsWith(" " " ));

无法工作

有什么建议吗?


定义:不起作用。 - Alexandre Lavoie
你尝试过在 startsWith 方法中使用 '"'"\"" 而不是 " " 吗?匹配字符串开头的双引号的实际正则表达式是 ^",但每种编程语言对于正则表达式字面量都有不同的标记法,最常见的可能是 /^"/ - Aprillion
2
哪种语言?用反斜杠转义双引号。字符串 n;如果(n==n.startsWith(" " ")); - Jens
1个回答

9

在字符串中必须转义双引号!如果你这样写:" " ",字符串会在第二个引号处结束。如果是在Java中,你的代码应该像这样:

String n;
if(n.startsWith("\""))
{
    // execute if true
}

既然你只需要匹配第一个字符,就不需要使用复杂的正则表达式工具:

String n;
if (n.charAt(0)=="\"")
{
    // execute if true
}

但是,您应该确保字符串不为空。只是为了安全起见:
String n;
    if (n.getText()!=null 
        && !n.getText().isEmpty() 
        && n.charAt(0)=="\"")
    {
        // execute if true
    }

PS:空格是一个字符。

PSS:被标记为重复。


1
Java 说 == 不适用于字符串和字符。 - user4557512
它对于字符串和任何复杂对象都不起作用。 还可能会导致浮点类型的问题。 对于char应该没问题。我想 ;) - Tymek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接