Java 检查字符串是否包含反斜杠?
在Java中,Java 检查字符串是否包含反斜杠?,java,string,backslash,Java,String,Backslash,在Java中,\'表示单引号(单引号)字符,\“表示双引号(双引号)字符 所以,String s=“我是一个人。”;效果很好 但是,String s=“我是人。”也不会出现任何编译错误 同样地,charc='\'可以工作,但是charc='”;也可以工作 但我需要检测字符串是否包含反斜杠: “abcd'”不包含反斜杠 “abcd\”包含反斜杠 我需要区分字符串是否包含反斜杠。您不能。之所以称为转义序列是有原因的。例如,\n一旦放入字符串,就无法将文本\与自身匹配。它已消失。剩下的只是一行新行 i
\'
表示单引号(单引号)字符,\“
表示双引号(双引号)字符
所以,String s=“我是一个人。”;
效果很好
但是,String s=“我是人。”
也不会出现任何编译错误
同样地,charc='\'
可以工作,但是charc='”;
也可以工作
但我需要检测字符串是否包含反斜杠:
“abcd'”
不包含反斜杠“abcd\”
包含反斜杠我需要区分字符串是否包含反斜杠。您不能。之所以称为转义序列是有原因的。例如,
\n
一旦放入字符串,就无法将文本\
与自身匹配。它已消失。剩下的只是一行新行
if(string.contains("\\")){
//TODO do your code here
}
请记住\
用于转义字符。它本身不属于字符串的一部分
但是,您可以通过执行以下简单操作来检查文本\
String s = "abcd\\";
System.out.println(s.contains("\\"));
\在Java中用作转义序列 如果要在字符串中打印反斜杠,只需打印
“abcd\\”
举个例子,它是:
boolean containsBs = "abcd\\".contains("\\");
“abcd\”
在java中不是有效字符串。
在这里,java将\“
视为转义序列字符(”
)。因此,如果要在字符串中添加反斜杠,则需要将\
与转义序列字符一起使用
字符串“abcd\'”
未包含反斜杠字符。它具有转义序列字符\'
中的转义字符(也称为转义序列或转义码)
“常规”用于表示序列的替代解释
在Java中,前面带有反斜杠(\
)的字符是
转义序列和对java编译器具有特殊意义
当在print语句中遇到转义序列时
编译器相应地解释它
引号中的引号您必须在
内部引用。打印句子:她对我说了声“你好”。
你呢
应写:
System.out.println("She said \"Hello!\" to me.");
使用字符串时,不需要对单引号使用转义字符(反斜杠)。同样,在使用char时,不需要转义双引号 字符串使用双引号,而字符使用单引号。对于字符串中的双引号和字符中的简单引号,需要使用转义字符 如果要确定字符串是否包含反斜杠
String ex="abcd";
String ex2="abcd\\";
ex.contains("\\"); //false
ex.contains("\\"); //true
第一个反斜杠用于转义,第二个是字符
你想解决什么问题?一旦它是Java字符串,反斜杠就消失了;这只是为了Java的缘故。
str.indexOf(“\\”)
?“abcd\”-如果这是Java的字符串,在示例中不包含反斜杠,反斜杠用于转义下一个字符;但它不会是字符串的一部分。现在,我需要检查这个输入字符串是否包含反斜杠?但问题是,如果我将字符串设为“abcd \\qwert”,则无法检测反斜杠的存在。因此,我想知道是否有任何方法可以检测反斜杠的存在?包含调用indexOf
因此,indexOf
将是最佳选择。@GeomanYabes不,这不是一个更好的选择:不应该牺牲可读性。
String ex="I'm an example";
String ex2="My name is \"example\"";
char c='"';
char c2='\'';
String ex="abcd";
String ex2="abcd\\";
ex.contains("\\"); //false
ex.contains("\\"); //true