我有一个字符串"domain\cdsid"
,其中"\"
是分隔符,我只想分割字符串,然后打印"cdsid"
。Java字符串标记器分隔符
输入字符串:"domain\cdsid"
输出字符串:"cdsid"
我该怎么办呢?
我有一个字符串"domain\cdsid"
,其中"\"
是分隔符,我只想分割字符串,然后打印"cdsid"
。Java字符串标记器分隔符
输入字符串:"domain\cdsid"
输出字符串:"cdsid"
我该怎么办呢?
试试这个(使用split
):
String myText = "domain\\cdsid";
System.out.println(myText.split("\\\\")[1]);
输出:
cdsid
看起来很好,但如果你在这里看到这个。 “String [] loginname = (node.getAttributes()。getNamedItem(”LoginName“)。getNodeValue())。split(”\\“);” Iam从sharepoint及其“LoginName”中提取数据,其格式为“domain \ cdsid”其预定义。 –
你不能在一个String内部有一个'''',因此,即使该方法返回字符串'“domain \ cdsid”',它实际上就是''domain \\ cdsid“',因此,相应的分割。 – Jarvis
谢谢你明白了 –
拆分的是,我会建议,当你需要产生的操作的所有元素去的方式。 ..这是因为结果会产生一个字符串数组(浪费内存产生一个数组只能得到一个元素!:)你不觉得??)
你的情况类似正则表达式或只是子会轻轻地为你提供了正确的答案..
考虑:
String txt = "domain\\cdsid";
System.out.println(txt.substring(txt.indexOf("\\") + 1));
输出:
cdsid
在Java中,字符串对象“\”用于定义任何转义序列字符,如新行的\ n,制表符的\ t,以及在String对象中具有反斜杠的转义序列字符。
因此,而不是写入字符串对象作为
字符串str = “域\ cdsid”;
你必须写
字符串str = “域\\ cdsid”;
第一个选项会导致编译时错误。 Java会希望在反斜杠后它们必须是一些转义序列字符,但它不是第一种情况。它将编译时间误差作为
无效的转义序列(有效的有\ B \吨\ n \˚F\ r \” \” \\)
在上述编译时间错误每个单独值是java中的转义序列字符。
所以你的最终代码会
String str = "domain\\cdsid";
System.out.println(str.split("\\\\")[1]);
希望这有助于。
你甚至在发布解决方案之前运行代码? – Jarvis
对不起,哪部分给出了错误?我已经提到,第一个选项会给解释中的编译时错误。 – SachinSarawgi
您发布的''final''代码。 – Jarvis
你试过了吗?按分隔符分割字符串并访问得到的数组 – Li357