split函数 字符串反转
来源:互联网 发布:淘宝助理菜鸟云模板 编辑:程序博客网 时间:2024/05/20 23:57
题目如下:
String str = " i am a programmer";其中空格个数分别是1,2,3个
要求按照单词反转,也就是最后输出“programmer a am i"; 空格数分别为3,2,1。
1:用split函数方式:
- public static void reverse() {
- String s = "i am a programmer"; // 几个空格的数量分别为1,2,3
- String[] eg = s.split(" ", -1);
- String result = "";
- for (int i = eg.length - 1; i > 0; i--) {
- result += eg[i] + " ";
- }
- result += eg[0]; // 这里要注意第一个字符的前面是不能增加空格的。否则就多了一个空格
- System.out.println(result);
这里一直有一个模糊点,就是如果对于连续多个空格在一起,但是要求分割的时候只用一个空格,其它的空格还不能删除,到底怎么办?需要看看split函数是怎么处理的。为了可视,将空格换作”,“。
可以改变字符串之间的”,“的个数来查看,从运行结果可以看到,在分割字符串”z,,,z“时,首先把字符串分为”z“和”,,z“两个字符串,第二步操作字符串”,,z“,分为一个空字符串和”,z“字符串,继续分为一个空字符串和一个z,最后结果如下:
z
z
- String oldStr = "z,,,z";
- String[] strs = oldStr.split(",");
- for(String str:strs) {
- System.out.println(str);
- }
可以改变字符串之间的”,“的个数来查看,从运行结果可以看到,在分割字符串”z,,,z“时,首先把字符串分为”z“和”,,z“两个字符串,第二步操作字符串”,,z“,分为一个空字符串和”,z“字符串,继续分为一个空字符串和一个z,最后结果如下:
z
z
2:不用split函数:
- String oldstr="I am a programmer";
- int index = oldstr.lastIndexOf(" ");
- System.out.println(index);
- while (index >= 0) {
- System.out.print(oldstr.substring(index + 1) + " ");
- oldstr = oldstr.substring(0,index);
- index = oldstr.lastIndexOf(' ');
- }
- System.out.println(oldstr);
为了能清楚的看到运行结果,我们把空格换为“,”。
- String oldstr="I,am,,a,,,programmer";
- int index = oldstr.lastIndexOf(",");
- while (index >= 0) {
- System.out.print(oldstr.substring(index + 1) + ",");
- oldstr = oldstr.substring(0,index);
- index = oldstr.lastIndexOf(',');
- System.out.println(index);
- }
这样的话,里面有两点如果不清楚的话就会导致不理解,首先subString(index)方法,是值从第index个字符开始往后的字符串。第二subString(0,index)的字符串不包括index位的字符。
这两种方法总算是搞明白了。
- split函数 字符串反转
- 分离字符串Split函数
- split字符串分割函数
- 字符串函数split、array_contains
- split函数分割字符串
- python字符串split函数
- 一个字符串反转函数
- Php反转字符串函数
- 编写字符串反转函数
- 反转字符串函数
- strrev。。反转字符串函数
- 简单反转字符串函数
- 编写字符串反转函数 .
- 字符串反转函数
- 字符串反转函数
- 字符串反转函数
- 用Split函数分隔字符串
- 分割字符串函数split(C#)
- 删除数组中的重复元素
- 关于const 的一转载
- atoi函数实现
- 给定一个字符串,包含中文字符和英文字符,取给定大小字节的子串。
- 08-19 私有继承
- split函数 字符串反转
- 面向对象
- 一些笔试题目和整理的答案 - 腾讯(Tencent)
- javascript里时间转换
- redhat面试题目
- 2012/7/9Intel面试题目
- 不借助第三方变量,将x,y两个变量的值互换。
- 同学PB经历的面试题
- c++二维数组初始化简单版本