Raj*_*Raj 1 java stringbuilder
import java.util.StringTokenizer;
public class ReverseWords {
public static void main(String[] args) {
StringBuilder output = new StringBuilder();
String str = "This is String , split by StringTokenizer, created by mkyong";
StringTokenizer st = new StringTokenizer(str);
char space =' ';
System.out.println("---- Split by space ------");
while (st.hasMoreElements()) {
//System.out.println(st.nextElement());
output.insert(0,st.nextElement());
output.append(" ");
}
System.out.println(output.toString());
/*System.out.println("---- Split by comma ',' ------");
StringTokenizer st2 = new StringTokenizer(str, ",");
while (st2.hasMoreElements()) {
System.out.println(st2.nextElement());
}*/
}
}
Run Code Online (Sandbox Code Playgroud)
我试图反转一个字符串的单词,这是我得到的:
mkyongbycreatedStringTokenizer,bysplit,StringisThis
Run Code Online (Sandbox Code Playgroud)
您将部件插入前部,但最后插入所有空间.
你可以做这样的事情来解决这个问题:
String s = st.nextElement();
output.insert(0, s);
output.insert(s.length(), " ");
Run Code Online (Sandbox Code Playgroud)
请注意,这是非常低效的,因为所有累积的内容都会一直向后移动.
你需要使用字符串标记器吗?否则,你可以写
String[] parts = str.split(" ");
StringBuilder sb = new StringBuilder();
for (int i = parts.length - 1; i >= 0; i--) {
sb.append(parts[i]);
sb.append(' ');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7973 次 |
| 最近记录: |