Это C #, но его легко перевести на Java (но это не очень умное решение).
String input = "a b c";
String output (" " + input).Replace(" ", "prefix_")
UPDATE
Первое решение не имеет пробелов в выводе. Для этого решения требуется символ заполнителя (#), который не встречается на входе.
String output = ("#" + input.Replace(" ", " #")).Replace("#", "prefix_");
Возможно, более эффективно использовать StringBuilder
.
String input = "a b c";
String[] items = input.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries);
StringBuilder sb = new StringBuilder();
foreach (String item in items)
{
sb.Append("prefix_");
sb.Append(item);
sb.Append(" ");
}
sb.Length--;
String output = sb.ToString();