在Java中,\'
表示单引号(单引号)字符,\"
表示双引号(双引号)字符。
所以,String s = "I\'m a human.";
效果很好。
但是,String s = "I'm a human."
也不会产生任何编译错误。
同样,char c = '\"';
有效,但char c = '"';
也有效。
但我需要检测字符串是否包含反斜杠:
"abcd'"
不包含反斜杠"abcd\'"
包含反斜杠。我需要区分字符串是否包含反斜杠。
答案 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
第一个反斜杠用于转义,第二个是角色。