发生特定字符串时的Java子串字符串

时间:2016-06-13 08:30:18

标签: java string substring

我需要帮助在子字符串出现时对字符串进行子串。 实施例

  

初始字符串:123456789abcdefgh

     

string to substr:abcd

     

结果:1​​23456789

我检查了substr方法,但它接受索引位置值。我需要搜索子字符串的出现而不是传递索引吗?

3 个答案:

答案 0 :(得分:0)

如果要从最后一个数字(a)中拆分String,那么代码将如下所示:

  

您可以将"a"更改为字符串

中的任何字符
package nl.testing.startingpoint;

public class Main {

    public static void main(String args[]) {
        String[] part = getSplitArray("123456789abcdefgh", "a");

        System.out.println(part[0]);
        System.out.println(part[1]);
    }

    public static String[] getSplitArray(String toSplitString, String spltiChar) {
        return toSplitString.split("(?<=" + spltiChar + ")");
    }
}

请记住toSplitString.split("(?<=" + spltiChar + ")");从第一次出现的那个角色中分裂出来。

答案 1 :(得分:0)

希望这可能有所帮助:

public static void main(final String[] args)
{
    searchString("123456789abcdefghabcd", "abcd");
}

public static void searchString(String inputValue, final String searchValue)
{
    while (!(inputValue.indexOf(searchValue) < 0))
    {
        System.out.println(inputValue.substring(0, inputValue.indexOf(searchValue)));

        inputValue = inputValue.substring(inputValue.indexOf(searchValue) +
            searchValue.length());
    }
}

输出:

123456789
efgh

答案 2 :(得分:0)

使用正则表达式,例如

static String regex = "[abcd[.*]]"

public String remove(String string, String regex) {
    return string.contains(regex) ? string.replaceAll(regex) : string;
}