字符串除空格倒序输出

1、不用正则表达式,split和trim版

String str = "   The   sky    is   blue            ";
        int l=0,r=str.length()-1;
        while(l<r && str.charAt(l)==‘ ‘)
            l++;
        while(r>0&&str.charAt(r)==‘ ‘)
            r--;
        String tempStr=str.substring(l, r+1);//除去两边空格
        System.out.println(tempStr);
        StringBuilder stb=new StringBuilder();
        int lindex=0,rindex=tempStr.length()-1,temp=tempStr.length();

        while(rindex>0)
        {
            while(tempStr.charAt(rindex)!=‘ ‘&& rindex!=0)
            {
                rindex--;
                //System.out.println(rindex);
            }
            if(rindex==0) {
                stb.append(tempStr.substring(rindex,temp));
                break;
                }

            stb.append(tempStr.substring(rindex+1,temp)+" ");

            while(tempStr.charAt(rindex)==‘ ‘&& rindex>0)
            {
                rindex--;
                //System.out.println(rindex);
            }

            temp=rindex+1;
        }
        System.out.println(stb+"");

2、正则表达式  trim ()  split()版

        String str="   The sky  is    blue      ";
        String[] str2=str.trim().split("\\s+");
        for (int i = str2.length-1; i >0; i--) {
            System.out.print(str2[i]+" ");
        }
        System.out.println(str2[0]);

      \转义字符  \s  空格  +代表多个空格

      以空格为界,分割字符串

原文地址:https://www.cnblogs.com/lovelingdu/p/9432327.html

时间: 2024-10-15 09:07:43

字符串除空格倒序输出的相关文章

为什么getline()后要两次回车????(将输入的字符串按单词倒序输出)

#include<iostream>#include<string>#include<algorithm>using namespace std;int main(){ string s; getline(cin,s); int len=s.size(); for(int i=len-1;i>=0;i--) { if(s[i]==' ') { string s1; char *p=&s[i]; s1.assign(p+1,s.end()); cout<

C#字符串的倒序输出

介绍 在本文中,我将演示如何将字符串的单词倒序输出.在这里我不是要将“John” 这样的字符串倒序为成“nhoJ”,.这是不一样的,因为它完全倒序了整个字符串.而以下代码将教你如何将“你 好 我是 缇娜”倒序输出为“缇娜 是 我 好 你”.所以,字符串的最后一个词成了第一个词,而第一个词成了最后一个词.当然你也可以说,以下代码是从最后一个到第一个段落字符串的读取. 对此我使用了两种方法.第一种方法仅仅采用拆分功能.根据空格拆分字符串,然后将拆分结果存放在一个string类型的数组里面,将数组倒序

HDOJ/HDU 1321 Reverse Text(倒序输出~)

Problem Description In most languages, text is written from left to right. However, there are other languages where text is read and written from right to left. As a first step towards a program that automatically translates from a left-to-right lang

Java基础知识强化08:将字符串倒序输出(包括空格)的几种方法

1.最容易想到的估计就是利用String类的toCharArray(),再倒序输出数组的方法了: 1 package himi.hebao05; 2 3 public class TestDemo02 { 4 public static void main(String[] args) { 5 int i = 0; 6 String text = "hebao I love you!"; 7 String result = " "; 8 char[] charArr

字符串的倒序输出

package cn.itsource.homeworkday14; /** *  字符串的倒序输出: * 把字符串翻转过来输出 原字符串“avdkfasjks”输出效果”skjsafkdva”; */ //1.通过创建StringBuffer调用它的reverse()方法字符串倒序输出(比较简洁) public class Seven {public static void main(String[] args) { String str6 = "abcdefgh";    Stri

C语言之基本算法40—字符串删除元音字母倒序输出

//字符串,数组 /* ================================================================== 题目: 输入一行字符,将辅音字母按反序输出(去掉元音字母),并存放在另一字符串! ================================================================== */ #include<stdio.h> #include<string.h> #define N 256 vo

Java实现字符串倒序输出的几种方法

1. 最容易想到的估计就是利用String类的toCharArray(),再倒序输出数组的方法了. import javax.swing.JOptionPane; public class ReverseString { public static void main (String args[]){ String originalString; String resultString = ""; originalString = JOptionPane.showInputDialog

java习题:倒序输出一行字符串

倒序输出一行字符串: public static void main(String[] args) { System.out.println("请输入一行字符串(按Enter执行):"); Scanner input = new Scanner(System.in); String str = input.next(); daoxu(str); } /** * 将字符串倒序 * @param str */ public static void daoxu(String str) { S

php中怎样自己定义,倒序输出一个字符串

利用strrev--这个函数 strrev — 反转字符串 $str="ABCDEFGHIJK"; $new_str=strrev($str); echo $new_str; //输出结果KJIHGFEDCBA: 第二种方法,自定义 $str="qwertyuiop"; my_rev($str); function my_rev($str) { $len = strlen($str);//先计算长度 $new_str = "";//定义一个空的字