如果我有一个字符串,例如
setting=value
如何删除'='并将其转换为分别包含'setting'和'value'的两个单独的字符串?
非常感谢!
答案 0 :(得分:10)
有两种选择让人想起。
split()
上String
的第一个=
:
String[] pieces = s.split("=", 2);
String name = pieces[0];
String value = pieces.length > 1 ? pieces[1] : null;
第二个使用正则表达式直接解析String
:
Pattern p = Pattern.compile("(.*?)=(.*)");
Matcher m = p.matcher(s);
if (m.matches()) {
String name = m.group(1);
String value = m.group(2);
}
第二个给你更多力量。例如,如果将模式更改为:
,则可以自动丢失空白区域Pattern p = Pattern.compile("\\s*(.*?)\\s*=\\s*(.*)\\s*");
答案 1 :(得分:1)
您不需要正则表达式,只需执行:
String str = "setting=value";
String[] split = str.split("=");
// str[0] == "setting", str[1] == "value"
如果limit
中也可以设置value
,您可能需要设置=
;请参阅javadoc