Привет, у меня проблема с удалением некоторых нежелательных символов из строки.
Например, если строка Hi Uim IMAGE [rofl] test , тогда я хочу, чтобы она была похожа на Hi Uim rofl test . Я не хочу жестко закодировать IMAGE [и затем снова закрытие], используя замену строки. Вместо IMAGE
в ALLCAPS может быть любое слово.
Я написал что-то подобное ниже, но предпочел бы, чтобы это можно было сделать лучше.
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String test = "";
String in = "Hi Uim IMAGE [rofl] test IMAGE [rofl] notify the bull";
String[] split = in.split("IMAGE \\[(.*?)\\]");
System.out.println(split);
Pattern p = Pattern.compile("IMAGE \\[(.*?)\\]");
Matcher m = p.matcher(in);
int i = 0;
while (m.find()) {
String group = m.group(1);
System.out.println(group);
test = test + split[i++] + group;
}
for (int var = i; var < split.length; var++) {
test = test + split[var];
}
System.out.println(test);
}
}
Это проблема, как будто я должен пройти через это. Есть ли лучший способ сделать это.