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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 不怕 中级黑马   /  2013-6-21 08:51  /  2256 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

不用循环,如何判断字符串A=“1,2,34,5”中是否包含字符‘2’(A之间用逗号分开)

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

14 个回复

倒序浏览
学习学习!
回复 使用道具 举报
可以用<string>.Contains方法,参考下面代码:
string   str   A=“1,2,34,5”;
if(str.Contains('2'))
{
Console.WriteLine("字符串含有2");
}

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
string   A="1,2,34,5";
            string [] strs =new string [A.Length]; //定义一个足够大的数组。
            strs = A.Split(','); //把A这个字符串按”,“分解成数组放在strs中。
            //要求不用循环基本没意义。
            for (int i = 0; i < A.Split(',').Length; i++) //注意结束条件。
            {
                if (strs[i].Equals("2")) //将数组元素和字符2做比较。
                {
                    Console.WriteLine("字符串含有2");
                }
            }
            Console.ReadKey();

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace _1
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             //不用循环,如何判断字符串A=“1,2,34,5”中是否包含字符‘2’(A之间用逗号分开)
  12.             string a = "1,2,34,5";
  13.             if (a.Contains('2'))
  14.             {
  15.                 Console.WriteLine("包含");
  16.             }
  17.             else
  18.             {
  19.                 Console.WriteLine("不包含");
  20.             }
  21.             Console.ReadKey();
  22.         }
  23.     }
  24. }

复制代码

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
Regex.IsMatch(A, "[2]")

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
导入linq
string   str   A=“1,2,34,5”;
str.Contains('2')

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报

楼主的意思是你自己写方法,不是让你用Contains,这个方法是你自己写的吗。
回复 使用道具 举报
蔡志涛 发表于 2013-6-21 09:41
可以用.Contains方法,参考下面代码:
string   str   A=“1,2,34,5”;
if(str.Contains('2'))

看清楼主的意思在回答,让你自己写方法。
回复 使用道具 举报
因为在网吧,所以具体方法也写不了,大概,有这么个想法,不用循环的话,可以试试if和几个else if ,这个不算循环吧。可以先把这个字符串转换成数组,然后,在用if ,else if对数组中的每个值写一下,总共四个数字,也就用一个if 三个else if就行了,大概这样
先用Substring()这个把A中的每个数字取出来,放到定义好的数组ShuZu[]中,然后再用if()进行比较,比如
if(ShuZu[1]=="2")
{
   Console.WriteLine("。。。。。");
}

由于在网吧,没法用visual studio写,所以只能简单的说这些,你自己可以试试。由于我也没写,所以不知道可不可以,不过应该行吧。

注意,在整个过程中,没用到循环,需要循环的地方,用if

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
道法乾坤110 发表于 2013-6-21 19:18
因为在网吧,所以具体方法也写不了,大概,有这么个想法,不用循环的话,可以试试if和几个else if ,这个不 ...

意思是?用shuzu[1]就是要数组中每个成员都要遍历一遍了?,这样会耗费系统资源的
回复 使用道具 举报
道法乾坤110 发表于 2013-6-21 19:05
看清楼主的意思在回答,让你自己写方法。

.net中封装了那么好的方法我个人觉得自己就不用再写了,直接调用微软给我们写好的方法多好
回复 使用道具 举报
我觉的那只能一个一个的比了。。如:if (A[0] == "2")、A[1]、A[2] 这样的一个个比较了。。
回复 使用道具 举报
月儿圆 发表于 2013-6-21 21:29
意思是?用shuzu[1]就是要数组中每个成员都要遍历一遍了?,这样会耗费系统资源的 ...

循环遍历难道不是把每个元素拿去比么?
回复 使用道具 举报
关关雎鸠 发表于 2013-6-22 12:08
循环遍历难道不是把每个元素拿去比么?

:o是哦     
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马