如何在StringBuilder中删除行X和Y
本文关键字:删除行 StringBuilder | 更新日期: 2023-09-27 17:52:49
我有一个大字符串文件(原来geojson),我需要纠正之前使用它在我的android项目。
我解释:我已经将shapefile转换为geojson文件,但转换器做错了。他为坐标设置了一个双数组,而android无法解析它。
{
"type": "Feature",
"properties": {
"id": 00001,
"poi": "cinemas",
"other": "null"
},
"geometry": {
"type": "MultiPoint",
"coordinates": [
[ // here is the unwanted character #1
7.0000000000000,
48.0000000000000
] // here is the unwanted character #2
]
}
}
如何生成一个合适的字符串,删除第11行&
我尝试了这个,但不工作:
string[] x = myJsonString.Split(''n');
x.Remove(x.LastIndexOf(Environment.NewLine)-4);
x.Remove(x.LastIndexOf(Environment.NewLine)-7);
我走错路了吗?或者StringBuilder可以做到这一点?
你可以使用正则表达式和它的分组特性。
// Define your RegEx
Pattern p = Pattern.compile("''[.*(''[.*'']).*'']");
// Apply this RegEx on your raw string
Matcher m = p.matcher(your_raw_string);
// A container for output string
StringBuffer s = new StringBuffer();
// Iterate over each occurrence of the substring
while (m.find()) {
// Append to the output and replace each occurrence with group #1
m.appendReplacement(s, m.group(0));
}
// Your desired text!
System.out.println(s.toString());
引用
关于在Java中使用RegEx的更多信息
try:
myString = Regex.Replace(myString, "[( )*[", "[");
myOtherString = Regex.Replace(myOtherString, "]( )*]", "]");
使用正则表达式replaceAll:
myJsonString = myJsonString.replaceAll("([''['']])[''s''n]+?(?=''1)", "");
演示。