我有以下形式的字符串:
1x Intel Celeron G1850*
如何获得仅包含“Intel Celeron G1850”的子字符串? - 我正在考虑在x和*
之间进行分割答案 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
会产生相同的