求助、面向对象的思想查找字符串中的数字

问题描述

要用面向对象的思想来查找字符串中的数字。实现判断某个字符是否位数字的方法如下:publicstaticboolgetNumeric(stringstr){boolb=false;string[]ArrayInt=newstring[]{"1","2","3","4","5","6","7","8","9","0"};foreach(stringninArrayInt){if(n==str){b=true;break;}}returnb;}怎么使用方法挑选textbox中的一段带有数字的字符并输出呢?小菜鸟求各位大神细心讲解。

解决方案

解决方案二:
classA{publicstaticboolgetNumeric(stringstr){returnRegex.IsMatch(str,@"d");}}
解决方案三:
面向对象的真心不懂publicstaticboolIsDigit(strings){charc;for(inti=0;i<s.Length;i++){c=s[i];if(c<'0'||c>'9'){returnfalse;}}returntrue;}

解决方案四:
这理由什么样的“面向对象思想”?不要轻易地上纲上线。
解决方案五:
引用3楼sp1234的回复:

这理由什么样的“面向对象思想”?不要轻易地上纲上线。

ASP.NET学习手册上的一道课后题,要求用面向对象的思想做。提干我都写出来了。求帮助,卡壳了。。。
解决方案六:
publicstaticboolgetNumeric(stringstr){boolb=false;string[]ArrayInt=newstring[]{"1","2","3","4","5","6","7","8","9","0"};foreach(stringninArrayInt){if(n==str){b=true;break;}}returnb;}

这个方法写的实在太烂!看不下去了……看了这个方法后我就不明题意了,这方法是判断一个字符是否是数字,为什么不用char而要用string呢?虽然textbox.Text是string类型,但是要判断每一位字符是否为数字也应该用char啊!有现成的String.ToArray不用,还要用for循环去切割字符串吗?而且你这题意也不够明确啊!textbox输入的字符串是什么样的,只是一位数字2?还是几位数字和字母的组合d23ee6f?实在是搞不懂。按照你的想法,写了下面的代码stringstr=textBox1.Text;stringarray;boolstop=false;for(inti=0;i<str.Length;i++){if(!stop&&getNumeric(str.SubString(i,1))){array+=str.SubString(i,1);}elseif(getNumeric(str.SubString(i,1))){stop=true;}elseif(stop){break;}}

这种方法很麻烦,还是建议用#1的方法。
解决方案七:
求用面向对象思想写个hello,world
解决方案八:
蛋疼滴老师啊普通算法用对象?蛋疼逻辑高端AI算法,才会使用对象抽象一下现实比如各种拟物算法对象才有用处这个排序你想怎么个对象法把难道应该这么写“打劫!男滴站左边,女滴站右边,非男非女站中间”(数字站左边,字符站右边,特殊不可见滴站中间??)
解决方案九:
引用7楼wanghui0380的回复:

蛋疼滴老师啊普通算法用对象?蛋疼逻辑高端AI算法,才会使用对象抽象一下现实比如各种拟物算法对象才有用处这个排序你想怎么个对象法把难道应该这么写“打劫!男滴站左边,女滴站右边,非男非女站中间”(数字站左边,字符站右边,特殊不可见滴站中间??)

他说这是ASP.NET学习手册上的一道课后题。姑且不去怀疑老师了,LZ的问题描述一定有问题!
解决方案十:
这个跟“面向对象思想”貌似沾不上边吧
解决方案十一:
依次取出每一位进行判断就可以了
解决方案十二:
引用5楼danding_ge的回复:

publicstaticboolgetNumeric(stringstr){boolb=false;string[]ArrayInt=newstring[]{"1","2","3","4","5","6","7","8","9","0"};foreach(stringninArrayInt){if(n==str){b=true;break;}}returnb;}

这个方法写的实在太烂!看不下去了……看了这个方法后我就不明题意了,这方法是判断一个字符是否是数字,为什么不用char而要用string呢?虽然textbox.Text是string类型,但是要判断每一位字符是否为数字也应该用char啊!有现成的String.ToArray不用,还要用for循环去切割字符串吗?而且你这题意也不够明确啊!textbox输入的字符串是什么样的,只是一位数字2?还是几位数字和字母的组合d23ee6f?实在是搞不懂。按照你的想法,写了下面的代码stringstr=textBox1.Text;stringarray;boolstop=false;for(inti=0;i<str.Length;i++){if(!stop&&getNumeric(str.SubString(i,1))){array+=str.SubString(i,1);}elseif(getNumeric(str.SubString(i,1))){stop=true;}elseif(stop){break;}}

这种方法很麻烦,还是建议用#1的方法。

看到你的str.SubString(i,1)方法就知道你连门都没入,还是别来指导别人了。多看少说为好。字符串可以直接用foreach遍历,也可以直接使用索引取值。这不是高级知识,而是基础的不能再基础的问题。
解决方案十三:
引用11楼wddw1986的回复:

Quote: 引用5楼danding_ge的回复:
publicstaticboolgetNumeric(stringstr){boolb=false;string[]ArrayInt=newstring[]{"1","2","3","4","5","6","7","8","9","0"};foreach(stringninArrayInt){if(n==str){b=true;break;}}returnb;}

这个方法写的实在太烂!看不下去了……看了这个方法后我就不明题意了,这方法是判断一个字符是否是数字,为什么不用char而要用string呢?虽然textbox.Text是string类型,但是要判断每一位字符是否为数字也应该用char啊!有现成的String.ToArray不用,还要用for循环去切割字符串吗?而且你这题意也不够明确啊!textbox输入的字符串是什么样的,只是一位数字2?还是几位数字和字母的组合d23ee6f?实在是搞不懂。按照你的想法,写了下面的代码stringstr=textBox1.Text;stringarray;boolstop=false;for(inti=0;i<str.Length;i++){if(!stop&&getNumeric(str.SubString(i,1))){array+=str.SubString(i,1);}elseif(getNumeric(str.SubString(i,1))){stop=true;}elseif(stop){break;}}

这种方法很麻烦,还是建议用#1的方法。

看到你的str.SubString(i,1)方法就知道你连门都没入,还是别来指导别人了。多看少说为好。字符串可以直接用foreach遍历,也可以直接使用索引取值。这不是高级知识,而是基础的不能再基础的问题。

我也没说我是高手,我也没有指导,交流都不行?你没事说我,不能把时间用在解决楼主的问题上?
解决方案十四:
用正则表达式专门做这个事情的哟

时间: 2024-11-03 08:13:27

求助、面向对象的思想查找字符串中的数字的相关文章

怎么根据条件查找字符串中的数字呢?

问题描述 如果有字符串324aasdf3445dfa32fd45435asfdag54ads546ds4323adsf怎么查找前面出现3个字母,后面出现2个字母之间的数字,如上面的:dfa32fd和ads546ds之间的数字32和546 解决方案 解决方案二:转成ASCII判断解决方案三:简单的办法是用正则表达式,我也不是很熟,哈哈.如:([a-z]){3}d+([a-z]){2} 匹配出来就是:sdf3445df和dag54ad,之后再通过string的SubString(3,str.Leng

php使用substr()和strpos()联合查找字符串中某一特定字符的方法

  本文实例讲述了php使用substr()和strpos()联合查找字符串中某一特定字符的方法.分享给大家供大家参考.具体分析如下: 要求:在下面的字符串中查找双竖线前面的字符,大多数清空下使用explode()函数,但项目过程中使用了太多的explode(),所以找到了下面的方法. ? 1 2 3 4 <?php $str="admin||46cc468df60c961d8da2326337c7aa58||0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

JS查找字符串中出现次数最多的字符_javascript技巧

在一个字符串中,如 'zhaochucichuzuiduodezifu',我们要找出出现最多的字符.本文章将详细说明方法思路. 先介绍两个string对象中的两个方法:indexOf()和charAt()方法 indexOf()方法介绍 返回某个指定的字符串值在字符串中首次出现的位置 charAt()方法介绍 返回某个指定位置的字符 先做一个小测试,找到字符串'woainixiaoli'中的每一个'i'出现的位置. <script> var arr = 'woainixiaoli'; var

java查找字符串中的包含子字符串的个数实现代码_java

1. 用indexof的方法: public class Test11 { private static int counter = 0; /** * @param args */ public static void main(String[] args) { String str ="sdSS**&HGJhadHCASch& ^^"; int i = stringNumbers(str); System.out.println(i); } public static

javascript 查找字符串中最后一次出现字符或字符串

在js中要实现查找字符串中最后一次出现字符或字符串我们可以用到lastIndexOf() 方法 string.lastIndexOf(string, num)     string.lastIndexOf(string) lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索 <html>     <script language="JavaScript">     <!--     var myStr

截取-字符串中提取数字,在线等!

问题描述 字符串中提取数字,在线等! 我有一个字符串,"p27p p34p"我想拿到里面的数字,里面的数字是用户ID,我的根据这ID去查Name. 该字符串中可能有多个"p用户IDp",请问怎么在c#后台把数字弄出来. 结果是:27 34.想把拿出来的数字放在一个数组里面,然后我循环去查用户. 解决方案 public static decimal GetNumber(string str) { decimal result = 0; if (str != null

c++字符串-C++中如何将输入的字符串中的数字提取出来做加减法

问题描述 C++中如何将输入的字符串中的数字提取出来做加减法 char shu[100]; scanf("%s",shu); int sum; sum+=字符串中的数字 这个应该怎样完成?当我提取了字符串中的数字后,但发现字符串中的数字是以ASIii的形式运算的,这该怎么办? 解决方案 #include "stdafx.h" #include <string.h> void main() { char shu[100]; scanf("%s&q

java从字符串中提取数字的简单实例_java

随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取出来呢?大致有以下几种方法,正则表达式,集合类,还有就是String类提供的方法. 1 String类提供的方法: package 测试练习; import Java.util.*; public class get_StringNum { /** *2016.10.25 */ public static void main(Strin

Mysql中实现提取字符串中的数字的自定义函数分享_Mysql

因需要在mysql的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的mysql函数,可以有效的从字符串中提取出数字. 该mysql提取出字符串中的数字函数如下: 复制代码 代码如下: CREATE FUNCTION GetNum (Varstring varchar(50)) RETURNS varchar(30) BEGIN DECLARE v_length INT DEFAULT 0; DECLARE v_Tmp varchar(50) default ''; se