黑马程序员技术交流社区

标题: 将字符串前n个空格替换成n个0的正则表达式怎么写? [打印本页]

作者: new999    时间: 2014-10-22 13:11
标题: 将字符串前n个空格替换成n个0的正则表达式怎么写?
将字符串前n个空格替换成n个0,我实现的代码如下:
  1. public static String replaceSpaceWith0AtBegining(String inputStr) {
  2.         char[] buffer=inputStr.toCharArray();
  3.         for(int i=0;i<buffer.length;i++){
  4.                 if('='!=buffer[i]){
  5.                         break;
  6.                 }
  7.                 buffer[i]='0';
  8.         }
  9.         return new String(buffer);
  10. }
复制代码

或者用正则表达式,但是正则表达式中被替换的空格的个数怎么表现出来,是个问题,只能改写成这样子,貌似还不如上面的代码:
  1. public static String replaceSpaceWith0AtBegining(String inputStr) {
  2.         int len1=inputStr.length();
  3.         inputStr=inputStr.replaceAll("^\\s*", "");
  4.         int len2=inputStr.length();
  5.         for(int i=0;i<len1-len2;i++){
  6.                 inputStr="0"+inputStr;
  7.         }
  8.         return inputStr;
  9. }
复制代码

有没有可能用正则表达式,一句搞定的?
作者: new999    时间: 2014-10-22 14:42
自己顶自己~~~
作者: THE_FUTURE    时间: 2014-10-22 16:15
replaceAll("(0).\\1+)","");




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2