我正在尝试从字符串(public class Serializer {
private static Gson serializer = createSerializer();
private static Gson createSerializer() {
GsonBuilder gsonBilder = new GsonBuilder();
gsonBilder.registerTypeAdapter(Graph.class, new GraphAdapter());
return gsonBilder.create();
}
public static String serialize(Object o){
return serializer.toJson(o);
}
public static JsonElement toJson(Object o){
return serializer.toJsonTree(o);
}
public static <T> T deserialize(String s, Class c){
return (T)serializer.fromJson(s, c);
}
public static <T> T fromJson(JsonElement graphObject, Class c) {
return (T)serializer.fromJson(graphObject, c);
}
)中删除内容,但遇到了以下问题。
我试图将指向的字符串部分放在mirror
内。
int()
答案 0 :(得分:1)
如果您要尝试从字符串中删除字符,也许我建议使用replace()
而不是遍历字符串:
>>> a = 'abc//123'
>>> a.replace('//', '')
abc123
>>> b = a.replace('//', '')
>>> a
abc//123
>>> b
abc123
您之所以得到TypeError
,是因为i
是str
,而不是int
。注意行for i in mirror
- mirror
是str
,因此i
中的每个字符mirror
也是str
。然后,您尝试使用str
索引字符串,该字符串无效,从而导致TypeError
。
答案 1 :(得分:0)
字符串是可迭代的,因此当您键入以下内容时:
for i in "string":
print i
您会得到的
s
t
r
i
n
g
如果要获取字符串的索引,请使用enumerate
for i, c in enumerate("string"):
print i,c
导致:
0 s
1 t
2 r
3 i
4 n
5 g