我想获取第一个$
之前的字符串。我使用了下面的代码,但它没有给我所需的输出,即 name
String sInputFld = "name$name22";
String sOutputFld = sInputFld .split("$")[0];
最佳答案
您的问题是因为您的分隔符是 $
,它在 split()
中使用的正则表达式中具有特殊含义。你必须逃避它:
String sOutputFld = sInputFld .split("\\$")[0];
编辑:
然而,使用 split() 来仅提取第一个片段似乎并不有效。您可以使用 substring()
和 index()
:
int dollarPos = str.indexOf("$"); // here $ is not escaped because regex is not used\
if (dollarPos >= 0) {
fragment = str.substring(0, dollarPos);
}
关于java - 获取第一个 "$"之前的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24160420/