`

将一个字符串中的数字分离并相加

阅读更多
import java.util.StringTokenizer;

import org.junit.Test;

public class MyTest {
	
	String str = "A4b54e85a96sd5sddd113";
	
	@Test
	public void tstDigit(){
		
		
		StringBuilder sb = new StringBuilder(str);
		int len = sb.length();
		for(int i=0;i<len;i++){
			char ch = str.charAt(i);
			if(!Character.isDigit(ch)){
				sb.replace(i, i+1, "|");
			}
		}
		
		System.out.println(str);
		System.out.println(sb.toString());
		
		String[] digits = sb.toString().split("\\|");
		int total = 0;
		for(String s : digits){
			if(s != null && !"".equals(s)){
				System.out.println(s);
				total = total + Integer.parseInt(s);
			}
		}
		System.out.println(total);
	}
	
	@Test
	public void tstDigit2(){
		final String delim = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
		StringTokenizer st = new StringTokenizer(str,delim);
		int count = 0;
		while(st.hasMoreTokens()){
			count += Integer.parseInt(st.nextToken());
		}
		System.out.println(count);
	}

}



分享到:
评论

相关推荐

    Python字符串转换成浮点数函数分享

    1. **`char2num`函数**:此函数接收一个字符串形式的数字字符,并返回其对应的整数值。 2. **`str2int`函数**:此函数接收一个字符串形式的整数,并返回其对应的整数值。 3. **`intLen`函数**:计算整数的位数。 4. ...

    C++实现大整数乘法(字符串乘法)

    multiply函数用于实现字符串的乘法运算,即将一个字符串与一个数字相乘,并返回结果字符串。该函数使用了循环来实现乘法运算,并使用flag变量来记录进位。 multiply函数的实现 multiply函数的实现可以分为三个步骤...

    javascript加号&quot;+&quot;的二义性说明.docx

    在这个例子中,原本期望`borderWidth`的值从`1px`增加到`11px`,但由于`borderWidth`实际上是一个带有单位的字符串(如`'1px'`),JavaScript将执行字符串连接操作而非数值相加,结果是`'1px' + 10`,即`'1px10'`。...

    javascript 教程-学习笔记.docx

    需要注意的是,当一个数字与字符串相加时,数字会被自动转换为字符串形式。 **2.3 字符串不可变性** 字符串在 JavaScript 中是不可变的,这意味着一旦创建了一个字符串,就不能改变它的内容。例如: ```...

    2012年计算机二级C语言上机题及答案汇总.pdf

    `fun`函数接收一个字符串指针`s`,并创建两个新的字符串`t1`和`t2`分别存储非数字字符和数字字符。通过遍历输入字符串,检查每个字符是否为数字,如果是,则添加到`t2`;否则,添加到`t1`。最后,将`t2`中的数字字符...

    C++复数类实部和虚部

    然而,有时候我们需要自定义复数类来满足特定的需求,比如在这个例子中,我们可能想要创建一个复数类,只包含基本的加减法操作。下面我们将深入探讨如何实现这样的复数类以及相关知识点。 首先,我们要创建一个名为...

    计算机二级上机题及答案MicrosoftWord文档.pdf

    6. 字符串操作:第六题的`fun`函数实现了从源字符串`a`中删除指定下标位置的字符,并将结果存入目标字符串`b`。函数遍历原字符串,跳过指定下标位置的字符,将其他字符复制到新字符串中。 这些题目涵盖了基本的数组...

    java多项式计算器

    2. **解析输入**:对输入的多项式字符串进行解析,将每个项分离出来,并创建对应的`Term`对象。 3. **加法**:两个多项式相加,需要重载`+`操作符,将两个多项式的所有项合并并进行相应的系数相加。 4. **减法**:...

    云南大学软件学院数据结构实验.doc

    实验中定义了一个名为`Complex`的抽象数据类型,它包含两个浮点型成员变量,分别表示复数的实部和虚部。实验设计了以下基本操作: 1. 输入复数:通过字符串形式接收复数,然后通过数组方法分离实部和虚部。 2. 四则...

    java测试代码

    - 字符串处理:遍历字符串中的每一个字符。 10. **杨辉三角(Pascal's Triangle)** - **描述**:题目要求打印出杨辉三角的前10行。 - **知识点**: - 二维数组:使用二维数组存储每一行的数据。 - 循环结构:...

    实现多个数连加的计算器(VC6.0源代码)

    在本文中,我们将深入探讨如何使用Microsoft Visual C++ 6.0(简称VC6.0)来实现一个能处理多个数连加的计算器程序。这个程序的源代码是基于C++语言编写的,旨在帮助初学者理解控制台应用程序的基本结构以及如何处理...

    C++程序设计谭浩强版答案

    此外,这个例子也强调了C++中对运算符优先级的理解,如加号(+)作为字符串连接和数值相加的双重用途。 ### 3. 函数定义与调用 第1.7题和第1.9题都涉及到函数的定义和调用。第1.7题中的函数`f`接收三个整数参数,...

    汇编语言:. 将DX寄存器中的二进制数(3 F 2 E H)以十六进制数形式显示在屏幕上;然后换行从

    1. **循环移位**:由于DX寄存器存储的是一个字长的数据,即包含8位十六进制数,为了逐位显示,需采用循环移位(ROL)指令,每次移动四位,从而分离出每一位十六进制数。 ```assembly rol bx, 4 ``` 2. **十六...

    34-36进制到10进制的转换 !

    1. 分离每一位:将给定的34/36进制数从右向左拆分成各个位,每个位代表一个34/36进制的数值。 2. 计算值:对每个位上的数字乘以其位置的34/36的幂次,位置从0开始,最右边的位是0次幂,然后依次递增。 3. 求和:将...

    简单C语言程序的例子.doc

    - 第八个和第九个程序接收一个三位数,然后通过取余和除法操作将数字的每一位分离,再重新组合成逆序的数字。 9. **买鸡问题**: - 第十个程序涉及到条件判断和算术运算,模拟了购买鸡、鸭、鹅的问题。这里的逻辑...

Global site tag (gtag.js) - Google Analytics