C#如何判断字符串中是否包含某个字符

string[]str={"0","0.","-0.","-0"};boolexists=(Number.IndexOf((str)));if(exists){Numbe... string[] str = {"0", "0.", "-0.", "-0"};
bool exists = (Number.IndexOf((str)));
if(exists)
{
Number = "";
}

Number是string类型
要判断Numver里是否有str里的内容

错误 1 与“string.IndexOf(char)”最匹配的重载方法具有一些无效参数
错误 2 参数“1”: 无法从“string[]”转换为“char”

vs2005 .net2.0是不是不能用Contains?
这段代码要怎么写呢?

谢谢!
展开
 我来答
果果就是爱生活
高能答主

2020-05-06 · 专注生活教育知识分享
果果就是爱生活
采纳数:2071 获赞数:272275

向TA提问 私信TA
展开全部

using System;

using System.Collections;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ConsoleApp1

{

    class Program

    {

        static void Main(string[] args)

        {

            string a = "abc平行线";

            Console.WriteLine(a.Contains("平行线"));

        }

    }

}

扩展资料:

C#字符串处理

1、从字符串中提取子串 

StringBuilder 类没有支持子串的方法,因此必须用String类来提取。(关于StringBuilder 类,文末会提到)

string mystring="My name is ynn."; 

//Displays "name is ynn." 

Console.WriteLine(mystring.Substring( 3 )); 

//Displays "ynn" 

Console.WriteLine(mystring.Substring( 11,3 ));

2、比较字符串 

String 类有四种方法:Compare( )、CompareTo( )、CompareOrdinal( )、Equals( )。 

Compare( )方法是CompareTo( )方法的静态版本。只要使用“=”运算符,就会调用Equals( )方法,的以Equals( )方法与“=”是等价的。CompareOrdinal( )方法对两个字符串比较不考本地语言与文件。

示例: 

int result; 

bool bresult; 

s1="aaaa"; 

s2="bbbb"; 

//Compare( )method 

//result值为“0”表示等,小于零表示 s1 < s2,大于零表示 s1 > s2 

result=String.Compare(s1,s2); 

result=s1.CompareTo( s2 ); 

result=String.CompareOrdinal(s1,s2)

问明6E
高粉答主

2019-05-18 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.9万
展开全部

例举:在进行C#编程时候,有的时候我们需要判断一个字符串是否是数字字符串,可以通过以下两种方法来实现。

方法一:使用try{}catch{}语句。

我们可以在try语句块中试图将string类型的字符串变量转换为int类型,如果该字符串不是数字字符串则会抛出异常,这时在catch语句块中就能捕获异常。一旦发现异常,则不是数字字符串。

我们可以以下三种方式将string类型转换为int类型。

(1)int.Parse(string);

(2)Convert.ToInt16(string);//当数字字符串的位数大于4的时候请使用Convert.ToInt32()

(3)Convert.ToInt32(string);

添加一个文本框TextBox1,和一个按钮Button1,当点击按钮时,判断文本框中的内容是否为数字字符串,是的话则输出转换后的数值。

protected void Button1_Click(object sender,EventArgs e)

{

string message=TextBox1.Text.Trim();

int result;

if(isNumberic(message,out result))

{

string tt="&lt;script&gt;alert('匹配成功,转换后的整数为"+result+"')&lt;/script&gt;";

Page.ClientScript.RegisterStartupScript(this.GetType(),"",tt);

}

else

Page.ClientScript.RegisterStartupScript(this.GetType(),"","&lt;script&gt;alert('匹配失败!')&lt;/script&gt;");

}

protected bool isNumberic(string message,out int result)

{

//判断是否为整数字符串

//是的话则将其转换为数字并将其设为out类型的输出值、返回true,否则为false

result=-1;//result定义为out用来输出值

try

{

//当数字字符串的为是少于4时,以下三种都可以转换,任选一种

//如果位数超过4的话,请选用Convert.ToInt32()和int.Parse()

//result=int.Parse(message);

//result=Convert.ToInt16(message);

result=Convert.ToInt32(message);

return true;

}

catch

{

return false;

}

}

上述方法可以将int改为double,如double.Parse(),这样就可以判断是否为浮点数字符串

【方法二】:通过正则表达式来判断。

用正则表达式来验证字符串是否为数字字符串。我们要用到Regex类的isMatch()方法。该类在System.Text.RegularExpressions;

可以通过using System.Text.RegularExpressions;导入命名空间来访问Regex类。

也可以直接通过System.Text.RegularExpressions.Regex来访问。

protected bool isNumberic(string message,out int result)

{

System.Text.RegularExpressions.Regex rex=

new System.Text.RegularExpressions.Regex("^\d+$");

result=-1;

if(rex.IsMatch(message))

{

result=int.Parse(message);

return true;

}

else

return false;

}

通过正则表达式判断是否匹配,不仅可以用来做简单的判断匹配,还可以进行精确的匹配,如判断是否是六位的数字字符串,Email匹配等。正则表达式是一种很好的方法。

protected void Button1_Click(object sender,EventArgs e)

{

string message=TextBox1.Text.Trim();

isNumeric(message);//判断字符串是否为5为整数字符串

}

protected void isNumeric(string message)

{

if(message!=""&&Regex.IsMatch(message,"^\d{5}$"))

{

//成功

Page.ClientScript.RegisterStartupScript(this.GetType(),"","&lt;script&gt;alert

('匹配通过!确实是五位的整数字符串')&lt;/script&gt;");

}

else

//失败

Page.ClientScript.RegisterStartupScript(this.GetType(),"","&lt;script&gt;alert

('匹配失败!')&lt;/script&gt;");

}

扩展资料:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#include&lt;文件名&gt;

2、#include"文件名"

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cc486255
推荐于2017-09-06 · 知道合伙人软件行家
cc486255
知道合伙人软件行家
采纳数:697 获赞数:1968
3年.NET开发经验

向TA提问 私信TA
展开全部

使用字符串的IndexOf方法查找,找到返回正确的位置下标,未找到返回-1

举例:

string str = "我爱北京天安门";
            int index = str.IndexOf("爱");
            if (index > -1)
            {
                Console.Write("找到了");
            }
            else {
                Console.Write("未找到");
            }
            Console.Read();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
张向琳1993
推荐于2017-09-03 · TA获得超过800个赞
知道小有建树答主
回答量:340
采纳率:0%
帮助的人:177万
展开全部
  你这里用到的是数组 当然不能这样写啦 要用for循环或者foreach遍历出来 一遍一遍的查出来 你这样当然会报错啊. 像下面这样写

  
  string Number = "0";
  bool exists=false;
  string[] str = { "0", "0.", "-0.", "-0" };
  for (int i = 0; i < str.Length; i++)
  {
  exists = Number.Contains(str[i]);
  break;
  }
  if (exists)
  {
  Number = "包含";
  }
  Console.WriteLine(Number);

我用是2010 不知道2005有没有Contains这个方法
希望能帮助到你!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微澜科技
2013-01-04 · TA获得超过522个赞
知道小有建树答主
回答量:721
采纳率:0%
帮助的人:442万
展开全部
首先,如果过滤多个字符串,那就要遍历字符串数组。然后再做判断。
例如:
for(int i=0;i<str.length;i++)
{
if(Number.Contains(str[i]))
{
Number = "";

//此处可以做多个处理。例如替换掉匹配的部分字符串,,组成新的字符串,而不是整个清空。

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式