输入一行文字。请不要标点符号。
Java是语言
我把这句话改为: 是Java语言
这是一个例子,我只知道char方法,但我不知道如何将第一个单词移到最后。我可以使用哪种字符串方法?
答案 0 :(得分:5)
final String s = "Java Is The Language";
final List<String> list =
new ArrayList<String>(Arrays.asList(s.split("\\s+")));
list.add(list.size() - 1, list.remove(0));
final StringBuilder sb = new StringBuilder();
for(final String word : list){
if(sb.length() > 0){
sb.append(' ');
}
sb.append(word);
}
System.out.println(sb.toString());
final String s = "Java Is The Language";
final List<String> list =
Lists.newArrayList(Splitter
.on(CharMatcher.WHITESPACE)
.omitEmptyStrings()
.split(s));
list.add(list.size() - 1, list.remove(0));
System.out.println(Joiner.on(' ').join(list));
答案 1 :(得分:2)
我认为你的意思是Java(而不是JavaScript):
final String delimiter = " ";
String input = /* whatever */;
String[] tokens = input.split(delimiter);
String output = "";
for (int i = 1; i<tokens.length; i++)
{
output += input[i] + delimiter;
}
output += tokens[0];
System.out.println(output);
顺便说一句,这段代码在JavaScript中看起来非常相似:
var delimiter = " ",
input = /* whatever */,
tokens = input.split(delimiter),
output = [],
len = tokens.length,
i;
for (i = 1; i<len; i++)
{
output.push(input[i]);
}
output.push(tokens[0]);
output = output.join(delimiter);
alert(output);
答案 2 :(得分:1)
子串,indexOf和长度。试试这些。