A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

将字符串前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. }
复制代码

有没有可能用正则表达式,一句搞定的?

评分

参与人数 1黑马币 +1 收起 理由
杨佳名 + 1

查看全部评分

2 个回复

倒序浏览
自己顶自己~~~
回复 使用道具 举报
replaceAll("(0).\\1+)","");
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马