我正在尝试用大括号替换所有方括号。
示例:
"{\"test\":{\"id\":{"4,5,6"}}},{\"Tech\":{"Java,C++"}}}";
我想删除方括号([,])并用大括号({,})替换它们。
像:
string = string.replace("\\[", "\\{").replace("\\]", "\\}");
我试过了:
enum StatusShape: Int {
case rectangle, triangle, circle
}
var statusShape: StatusShape = .rectangle
#if TARGET_INTERFACE_BUILDER
@IBInspectable var statusShapeIB: Int {
get {
return statusShape.rawValue
}
set {
guard let statusShape = StatusShape(rawValue: newValue) else { return }
self.statusShape = statusShape
}
} //convenience var, enum not inspectable
#endif
但没有奏效。需要一些建议。
答案 0 :(得分:3)
您不需要\\[
和\\{
,因为您无法获得正确的结果,而是可以使用:
System.out.println(string.replace("[", "{").replace("]", "}"));
注意强>
您使用的是无效的字符串,您必须在\
之前使用"\""
,如下所示:
String string = "{\"test\":{\"id\":[\"4,5,6\"}]},{\"Tech\":[\"Java,C++\"]}}";
答案 1 :(得分:0)
你可以这样做:
str.replace('[', '{').replace(']', '}');
或者你可以这样做:
str.replaceAll("\\[", "{").replaceAll("\\]", "}");
替换使用字符,因此''而replaceAll使用正则表达式。这就是你应该逃离那里的原因。