如何判断字符串中

fgmis 2009-09-22 09:45:18
string s="1,2,3,4,5,6"

string a="2" 如何判断字符串a中的2包含在s字符串中

string b="2,3" 如何判断字符串b中的2,3包含在s字符串中

string c="2,3,5,6" 如何判断字符串c中的2,3,5,6包含在s字符串中
...全文
261 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
asdfa23rdadsdfa 2009-09-22
  • 打赏
  • 举报
回复
用Split分割出来一个一个比较。
yinto 2009-09-22
  • 打赏
  • 举报
回复
indexOf
njutfyj 2009-09-22
  • 打赏
  • 举报
回复
string.Contains字符串是否包含另一字符串
string.StartsWith字符串是否以另一字符串开始
string.EndsWith字符串是否包含另一字符串结束
kke_007 2009-09-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cpp2017 的回复:]
string s = "1,2,3,4,5,6";
            if(s.IndexOf("2,3")>-1)
            {
                Response.Write("存在!");
            }

[/Quote]

UP
mbh0210 2009-09-22
  • 打赏
  • 举报
回复
我的代码是 if (temps.IndexOf(stra) == -1)
{
isExist = false;
break;
}


在你那就成了
行 90: foreach (string stra in tempa)
行 91: {
行 92: if (temps.IndexOf(stra) > -1)
行 93: {
行 94: isExist = false;

大于-1了,汗
mbh0210 2009-09-22
  • 打赏
  • 举报
回复
我汗,晕死,你看看temps.IndexOf后面确啥参数补一下就行了
05我记得这样写没有啥问题啊
zuoming120 2009-09-22
  • 打赏
  • 举报
回复
mbh0210 2009-09-22
  • 打赏
  • 举报
回复

bool isExist = true;
string s = "1,2,3,4,5,6";
string temps = "," + s + ",";
string a = "2,8";
string[] tempa = a.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
foreach (string stra in tempa)
{
if (temps.IndexOf(stra) == -1)
{
isExist = false;
break;
}
}


那就改成这样吧,刚才那个08下是正常的
mbh0210 2009-09-22
  • 打赏
  • 举报
回复
楼主你用的是那个编译器?03?
游北亮 2009-09-22
  • 打赏
  • 举报
回复
楼主,方法大家都教给你了,
你应该试着自己利用这些方法
自己实现,而不是等现在的代码。
mbh0210 2009-09-22
  • 打赏
  • 举报
回复

bool isExist = true;
string s = "1,2,3,4,5,6";
string[] temps = s.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
string a = "2";
string[] tempa = a.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
foreach (string stra in tempa)
{
if (!temps.Contains(stra))
{
isExist = false;
break;
}
}


这样就可以了,测试一下,封装一个函数就行了
游北亮 2009-09-22
  • 打赏
  • 举报
回复

public bool IsContains(mainStr, subStr){
//string mainStr = "1,2,3,4,5,6";
//string subStr = "2,4,6";
foreach(char ch in subStr){
if(ch == ',')continue;
if(mainStr.Contains(ch.ToString())){
return true;
}
}
return false;
}
mbh0210 2009-09-22
  • 打赏
  • 举报
回复
string s="1,2,3,4,5,6" ;

string a="2" ;
转成数组比较就行了
diffmaker 2009-09-22
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 chenjianyong94 的回复:]
C# codestring s="1,2,3,4,5,6";if(s.IndexOf("2,3")>-1)
{
Response.Write("存在!");
}
[/Quote]

如果s="1,32,3,4,5,6",那么indexOf("2,3")肯定不是-1,但不知楼主这种情况是不是他想要的结果了
cpp2017 2009-09-22
  • 打赏
  • 举报
回复
string s = "1,2,3,4,5,6";
string s1 = "2,4,6";
//,号不考虑了
char[] aryChar = s1.ToCharArray();
bool bValid = true;
for (int i = 0; i < aryChar.Length; i++)
{
if (!s1.Contains(aryChar[i].ToString()))
{
bValid = false;
break;
}
}
Response.Write(bValid.ToString());
chenjianyong94 2009-09-22
  • 打赏
  • 举报
回复
string s = "1,2,3,4,5,6"; 
if(s.IndexOf("2,3")>-1)
{
Response.Write("存在!");
}
Dream_Hunter_ 2009-09-22
  • 打赏
  • 举报
回复
index of方法可以的
jack15850798154 2009-09-22
  • 打赏
  • 举报
回复
indexof()
diffmaker 2009-09-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 fgmis 的回复:]
string s="1,2,3,4,5,6"

string a="2"  如何判断字符串a中的2包含在s字符串中

string b="2,3"  如何判断字符串b中的2,3包含在s字符串中

string c="2,3,5,6"  如何判断字符串c中的2,3,5,6包含在s字符串中
[/Quote]

这种情况不能简单的用s.indexOf(a),s.indexOf(b),s.indexOf(c)来判断,需要一点小技巧
首先要保证字符串a、b、c、s不是以逗号开头或结尾(可以先trim一下,去掉开头和结尾的逗号)
然后使用下面的方法判断

string tmp=","+s+",";
if(tmp.indexOf(","+a+",")!=-1){
Response.Write("字符串s中包含字符串a");
}else{
Response.Write("字符串s中不包含字符串a");
}

其他的类似
jiangshun 2009-09-22
  • 打赏
  • 举报
回复
string s="1,2,3,4,5,6"

string a="2" 如何判断字符串a中的2包含在s字符串中
if(s.Length()-s.Replace(a,"").Length()>0)
"存在"
加载更多回复(12)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧