Java特定的子字符串

时间:2015-04-06 17:33:53

标签: java string substring

我有以下形式的字符串:

1x Intel Celeron G1850*

如何获得仅包含“Intel Celeron G1850”的子字符串?   - 我正在考虑在x和*

之间进行分割

3 个答案:

答案 0 :(得分:1)

子串是一个很好的选择。不是分裂。由于复杂性。

String str = "1x Intel Celeron G1850*";
str.substring(str.indexOf("x"), str.length() -1)

答案 1 :(得分:1)

如果你想为这一个(或很少)字符串做这个,你的方法是绝对正常的。 "质量明智"将编译一个" RegExp"并匹配你的(统一和许多)字符串。

像这样:

    Pattern pattern = Pattern.compile("^\\d+x (.+)\\*$");
    Matcher matcher = pattern.matcher("1x Intel Celeron G1850*");
    if (matcher.matches()) {
        System.out.println(matcher.group(1));
    }

答案 2 :(得分:1)

这个答案将处理1x的可变长度。我假设每条记录的单位数没有x个字符。我也假设每个记录的格式相同

str.substring(str.indexOf('x') + 2);

这将获取的所有内容,包括后的x的索引位置加上2个索引,这些索引将把它放在空格后面的第一个字母上。

1x Intel Celeron G1850

将导致

Intel Celeron G1850

此:

1000x Intel Celeron G1850

会产生相同的