Мне нужно заменить все «\ n #» или «\ n \ r #» на «chr (35)» в некоторой строке, так что лучший способ сделать это учитывая проблемы с производительностью?Заменить некоторые символы из строки с точки зрения производительности
Я пробовал это, но я думаю, что это не очень хорошо !!!
public String encodeHash(String data){
StringBuffer result = new StringBuffer();
int numberOfReplacedChars = 0;
String hashPattern1 = "\n#" ;
String hashPattern2 = "\n\r#" ;
int index = data.indexOf(hashPattern1);
if(index != -1){
numberOfReplacedChars = hashPattern1.length();
}else{
index = data.indexOf(hashPattern2);
if(index != -1){
numberOfReplacedChars = hashPattern2.length() ;
}else{
return data;
}
}
result.append(data.substring(0,index + (numberOfReplacedChars - 1)));
result.append("chr(35)");
// method call itself (recursive)
result.append(encodeHash(data.substring(index + numberOfReplacedChars)));
return result.toString();
}
Вы вообще что-то пробовали решить это? – anubhava
Какие проблемы с производительностью у вас есть? – Kayaman
, пожалуйста, предоставьте «низкоэффективный» способ, который вы пробовали. –