私は簡単な質問を解いていました:
Java で文字配列の特定の文字を削除します。考え方は簡単です。
static void remove_char(char[] arr, char c){
int r = 0;
for (int i = 0 ; i < arr.length ; i++){
if (arr[i] == c){
r++;
continue;
}
arr[i - r] = arr[i];
}
arr[arr.length - r] = '\0'; // ??
return;
}
ending character
たとえば、次を使用して文字列を生成する場合に、配列の残りの部分を考慮する必要がないことを示すwhich シグナルを配置します。new String(arr)
Java にそのような文字はありますか? (入っていると思いC
ます\0
が、よくわかりません)
たとえば、次のように呼び出します。
System.out.println(new String(remove_char(new char[] {'s','a','l','a','m'} , 'a')))
これは印刷されます:slm m
私は取得したいのですが、新しい配列を使用せずslm
にこれを行いたいですin-place