将字符串前n个空格替换成n个0,我实现的代码如下:
- public static String replaceSpaceWith0AtBegining(String inputStr) {
- char[] buffer=inputStr.toCharArray();
- for(int i=0;i<buffer.length;i++){
- if('='!=buffer[i]){
- break;
- }
- buffer[i]='0';
- }
- return new String(buffer);
- }
复制代码
或者用正则表达式,但是正则表达式中被替换的空格的个数怎么表现出来,是个问题,只能改写成这样子,貌似还不如上面的代码:
- public static String replaceSpaceWith0AtBegining(String inputStr) {
- int len1=inputStr.length();
- inputStr=inputStr.replaceAll("^\\s*", "");
- int len2=inputStr.length();
- for(int i=0;i<len1-len2;i++){
- inputStr="0"+inputStr;
- }
- return inputStr;
- }
复制代码
有没有可能用正则表达式,一句搞定的? |