C#如何判断字符串中是不是包含某个字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何判断字符串中是不是包含某个字符相关的知识,希望对你有一定的参考价值。
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?
这段代码要怎么写呢?
谢谢!
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)
参考技术A例举:在进行C#编程时候,有的时候我们需要判断一个字符串是否是数字字符串,可以通过以下两种方法来实现。
方法一:使用trycatch语句。
我们可以在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="<script>alert('匹配成功,转换后的整数为"+result+"')</script>";
Page.ClientScript.RegisterStartupScript(this.GetType(),"",tt);
else
Page.ClientScript.RegisterStartupScript(this.GetType(),"","<script>alert('匹配失败!')</script>");
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,"^\\d5$"))
//成功
Page.ClientScript.RegisterStartupScript(this.GetType(),"","<script>alert
('匹配通过!确实是五位的整数字符串')</script>");
else
//失败
Page.ClientScript.RegisterStartupScript(this.GetType(),"","<script>alert
('匹配失败!')</script>");
扩展资料:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
参考技术B使用字符串的IndexOf方法查找,找到返回正确的位置下标,未找到返回-1
举例:
string str = "我爱北京天安门";int index = str.IndexOf("爱");
if (index > -1)
Console.Write("找到了");
else
Console.Write("未找到");
Console.Read(); 参考技术C 你这里用到的是数组 当然不能这样写啦 要用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这个方法
希望能帮助到你!本回答被提问者采纳 参考技术D 首先,如果过滤多个字符串,那就要遍历字符串数组。然后再做判断。
例如:
for(int i=0;i<str.length;i++)
if(Number.Contains(str[i]))
Number = "";
//此处可以做多个处理。例如替换掉匹配的部分字符串,,组成新的字符串,而不是整个清空。
如何判断List list中是不是包含某个字符串
以下方法供参考:
public class StringTest// 判断List list中是否包含某个字符串
public void getString(String str)
List<String> list = new ArrayList<>();
list.add("esctrdtuyusrd");
list.add("axctrcrdtuuuxts");
// 遍历集合,依次取出其中的元素
for (int i = 0; i < list.size(); i++)
// 如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这种子字符串的第一个字符的索引;如果它不作为一个子字符串出现,则返回
// -1。
if (list.get(i).indexOf(str) != -1)
System.out.println("集合中存在" + str + "这个字符串");
return;
System.out.println("集合中不存在" + str + "这个字符串");
// 主方法
public static void main(String[] args)
StringTest st = new StringTest();
st.getString("uuuu");
测试结果:
使用 list.contains() 方法可以判断,例如:
import java.util.ArrayList;import java.util.List;
public class App16
public static void main(String[] args)
List list = new ArrayList();
list.add("Tom");
list.add("Oliver");
list.add("Barry");
System.out.println(list.contains("Barry"));
System.out.println(list.contains("Jerry"));
运行结果:
参考技术B list.contens以上是关于C#如何判断字符串中是不是包含某个字符的主要内容,如果未能解决你的问题,请参考以下文章