java - 获取第一个 "$"之前的字符串

标签 java

我想获取第一个$之前的字符串。我使用了下面的代码,但它没有给我所需的输出,即 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/

相关文章:

java - 在 Android 中创建 JSON

java - 如何在Java游戏中实现音频?

java - 我如何检查 Java 8 中的负零?

java - 在 Java servlet 中,cookie.getMaxAge() 总是返回 -1

java - 字符串索引超出范围 : -1; substring issue

java - 无法从 Windows 中的 Tomcat 服务器访问资源

java - 在 Java 中实现鸽巢排序

java - 如何使用 Jsoup 选择元素

java - 我在 CentOS 上安装了 Open JDK 1.7;我安装了 Oracle 的 Java rpm; Oracle Java 似乎不存在

java - 使用 java.util.zip.* 解压缩使用 Apache POI 创建的 xlsx blob 时失败