`

删除、去掉字符串尾部的0或者某个特定字符(递归实现)

阅读更多

删除、去掉字符串尾部的0或者某个特定字符(递归实现)

/*****************************************************************************     
 * 类描述:       TODO  
 ****************************************************************************/

public class TempTest {
	/************************************
	 *  方法说明:   	测试
	 *  参数:                	@param args    			 
	 *  返回: 		void  
	 *************************************/
	public static void main(String[] args) {
//		测试
		String str = "1111111111010000";
		String string = removeTail0(str);
		System.out.println("string:"+string);
	}
	/************************************
	 *  方法说明:   	删除字符串尾部的0
	 *  参数:                	@param str
	 *  返回: 		String  
	 ***********************************/
	public static String removeTail0(String str){
//		如果字符串尾部不为0,返回字符串
		if(!str.substring(str.length() -1).equals("0")){
			return str;
		}else{
//			否则将字符串尾部删除一位再进行递归
			return removeTail0(str.substring(0, str.length() -1 ));
		}
	}
}

 打印结果应该是:string:111111111101

 

本方法是本人想到的一个简单实现,如果大家有更好的建议,请留言!

0
0
分享到:
评论
2 楼 fushiqilang 2015-09-09  
用正则表达式string.replaceAll("(0){1,}$", "");

(0){1,}表示至少一个0,
$ 表示结尾,
(0){1,}$ 字符串尾部的一个或多个0
1 楼 anxin1225 2013-05-03  
想法感觉不错。但是感觉这个东西有点冗余了。原因是如果字符串很长的话。你会很多次的操作这个字符串。这样的话。会很浪费资源的吧。所以希望能够一次性直接操作完成。我写了一段。可以看下。帮我也指正一下吧。
public static String trimEnd(String str, char trimChar) {
char[] charArray = str.toCharArray();
int index = -1;
for (int i = charArray.length; i > 0; i--) {
if (charArray[i] != trimChar) {
index = i;
break;
}
}
if(index <0)
return "";
return String.valueOf(charArray, 0, index);
}

相关推荐

    数据结构-字符串.pptx

    字符串循环左移 4/88 给定一个字符串S[0…N-1],要求把S的前k 个字符移动到S的尾部,如把字符串"abcdef" 前面的2个字符'a'、'b'移动到字符串的尾 部,得到新字符串"cdefab":即字符串循环 左移k。 多说一句:循环...

    构成回文序列最少要增加多少字符

    构成回文序列最少要增加多少字符 ...解法二为求出字符串与逆序字符串的最长公共子串, 需要增加数目为字符串总数减去最长公共子串长度。 http://blog.csdn.net/ssuchange/article/details/17385039

    jvm-tail-recursion:Java字节码中的尾部递归调用的优化器库

    jvm-tail-递归在Java字节码上执行尾部递归优化的Java库。它只是将函数中的最终递归方法调用替换为goto到同一函数的开头。... }}列出字符串中的数字如果您想在字符串中使用数字序列:前后static String numbers( int n,

    《javaScrip开发技术大全》源代码

    • sample21.htm 通过字符串的起始位置和结束位置来获得子字符串 • sample22.htm slice()方法的使用 • sample23.htm substr()方法的使用 • sample24.htm 查找子字符串在字符串中...

    python函数考试题库.docx

    python函数考试题库全文共3页,当前为第1页...以"w"方式打开的文件,会在文件尾部添加数据 编程题 编写一个函数能见检测这个函数是不是质数 编写一个函数判断一个字符串是不是回文,回文的意思是把一个字符串按相反的方

    python-3.11.2-amd64 windows 安装包

    例如,二进制操作(加法、减法等)可以被替换为整数、浮点和字符串的特殊版本替换。 Python 函数调用在 Python 3.11 中也需要更少的开销,用于函数调用的堆栈使用的内存更少,而且设计得更有效。此外,虽然递归调用...

    C 语言编程常见问题解答.chm

    6.2 怎样删去字符串尾部的空格? 6.3 怎样删去字符串头部的空格? 6.4 怎样使字符串右对齐? 6.5 怎样将字符串打印成指定长度? 6.6 怎样拷贝字符串的一部分? 6.7 怎样将数字转换为字符串? 6.8 怎样将...

    C语言编程要点

    6.2. 怎样删去字符串尾部的空格?。 94 6.3. 怎样删去字符串头部的空格? 95 6.4. 怎样使字符串右对齐? 97 6.5. 怎样将字符串打印成指定长度? 99 6.6. 怎样拷贝字符串的一部分? 100 6.7. 怎样将数字转换为字符串? 101 ...

    传智播客扫地僧视频讲义源码

    04_字符串反转_方法2递归逆序(3个点)_传智扫地僧 05_考试题解答和项目开发代码书写手法 06_一级指针易错模型分析_重点 07_C语言中的const知识点总结 08_指针的输入和输出模型 09_课堂答疑_指针所指向内存释放 10_...

    leetcode2sumc-leetcodeOctober:https://leetcode.com/explore/featured/car

    leetcode 2 和 c Leetcode 30 天挑战。 日期 名称 ...实现一个类 ...删除覆盖区间 ...递归, ...线性时间,找到尾部并加入头部,然后将...字符串到树和树到字符串 使用istringstream ss(data); string cur; ss&gt;&gt;cur; 10 月 10 日 爆

    JsonParser:JSONCSS选择器

    如果要实现复合或链式选择器,我们会将用户输入的搜索字符串分成由空格分隔的搜索词的数组,并将每个搜索词转换为SearchNode。 SearchNode数组将传递给搜索方法,与之匹配的每个递归项都将再次调用该方法,将搜索项...

    算法导论中文版

     32.3 利用有限自动机进行字符串匹配  32.4 Knuth?Morris?Pratt算法  思考题  本章注记 第33章 计算几何学  33.1 线段的性质  33.2 确定任意一对线段是否相交  33.3 寻找凸包  33.4 寻找最近点对  ...

    Scala程序设计(第2版)

    2.8.5 字符串字面量 48 2.8.6 符号字面量 50 2.8.7 函数字面量 50 2.8.8 元组字面量 50 2.9 Option、Some 和None:避免使用null 52 2.10 封闭类的继承 53 2.11 用文件和名空间组织代码 54 2.12...

    javascript入门笔记

    只做整数运算,如果是小数的话,则去掉小数位再运算 2、位运算 1、按位 与 :& 语法 :a & b 特点 :将 a 和 b 先转换为二进制,按位比较,对应位置的数字都为1的话,那么该位的整体结果为1,否则就为0 ex:5 ...

    Python基础教程(第3版)-201802出版-文字版

    52 3.4.9 判断字符串是否满足特定的条件 ............................................. 52 3.5 小结 ......................................................... 53 3.5.1 本章介绍的新函数 ......................

Global site tag (gtag.js) - Google Analytics