检查字符串是否包含反斜杠?

时间:2017-05-22 15:39:16

标签: java string backslash

在Java中,\'表示单引号(单引号)字符,\"表示双引号(双引号)字符。

所以,String s = "I\'m a human.";效果很好。

但是,String s = "I'm a human."也不会产生任何编译错误。

同样,char c = '\"';有效,但char c = '"';也有效。

但我需要检测字符串是否包含反斜杠:

  1. "abcd'"不包含反斜杠
  2. "abcd\'"包含反斜杠。
  3. 我需要区分字符串是否包含反斜杠。

5 个答案:

答案 0 :(得分:1)

你不能。出于某种原因,调用了转义序列。例如,\n一旦放入字符串,就无法将文字\与自身匹配。它已经消失了。剩下的就是一条新线。

  

记住\用于转义角色。它本身并不是String的一部分。

但是,您可以通过执行简单的包含

来检查文字\
String s = "abcd\\";
System.out.println(s.contains("\\"));

答案 1 :(得分:1)

"abcd\"不是java中的有效字符串。 这里java将\"视为转义序列字符(")。因此,如果要在字符串中添加反斜杠,则需要将\与转义序列字符一起使用。

字符串"abcd\'"未包含反斜杠字符。它有一个转义序列字符\'

  

转义字符(也称为转义序列或转义码)   一般用于表示系列的替代解释   的人物。在Java中,前面带有反斜杠(\)的字符是   转义序列对java编译器有特殊意义。

     

当在print语句中遇到转义序列时,   编译器相应地解释它。例如,如果你想放   引号内的引号必须使用转义序列\"   内部报价。打印句子:She said "Hello!" to me.你   应该写:

System.out.println("She said \"Hello!\" to me.");
// Java program to illustrate to find a character
// in the string.
import java.io.*;

public static void main (String[] args)
{
    // This is a string in which a character
    // to be searched.
    String str = "gee\\k";

    // Returns index of first occurrence of character.
    int firstIndex = str.indexOf('\\');
    System.out.println("First occurrence of char '\\'" +
                    " is found at : " + firstIndex);
}

答案 2 :(得分:0)

if(string.contains("\\")){
//TODO do your code here
}

答案 3 :(得分:0)

\用于Java中的转义序列。

如果要在字符串中打印反斜杠,只需打印"abcd\\".

即可

对于你的例子,它将是:

boolean containsBs = "abcd\\".contains("\\");

答案 4 :(得分:0)

使用字符串时,不需要对单引号使用转义字符(反斜杠)。同样,当使用char时,您不需要转义双引号。

  

字符串使用双引号,而字符使用单引号。您需要在字符串中使用转义字符表示双引号,并在字符中使用简单引用。

String ex="I'm an example";
String ex2="My name is \"example\"";
char c='"';
char c2='\'';

如果要查明String是否包含反斜杠

String ex="abcd";
String ex2="abcd\\";
ex.contains("\\"); //false
ex.contains("\\"); //true 
  

第一个反斜杠用于转义,第二个是角色。