Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检查某个字符串在另一个字符串中出现的次数?_C#_String_Count - Fatal编程技术网

C# 如何检查某个字符串在另一个字符串中出现的次数?

C# 如何检查某个字符串在另一个字符串中出现的次数?,c#,string,count,C#,String,Count,我最初从另一个人的问题答案中提取了这段代码,但它似乎不适用于文本框 我得到的错误是: string containsCharacter = textBox1.Text; string testString = "test string contains certain characters"; int count = testString.Split(containsCharacter).Length - 1; 我更喜欢修复这段代码,而不是使用像LINQ这样的其他东西,但如果没有修复这段代码的

我最初从另一个人的问题答案中提取了这段代码,但它似乎不适用于文本框

我得到的错误是:

string containsCharacter = textBox1.Text;
string testString = "test string contains certain characters";
int count = testString.Split(containsCharacter).Length - 1;
我更喜欢修复这段代码,而不是使用像LINQ这样的其他东西,但如果没有修复这段代码的方法,我会接受它

The best overloaded method match for 'string.Split(params char[])' has some invalid arguments
Argument 1: cannot convert from 'string' to 'char[]'
这个例子将返回6


此示例将返回6。

您可以调用
字符串上的
tocharray
,使其成为
字符[]
,如下所示:

string containsCharacter = "t";
string testString = "test string contains certain characters";
int count = testString.Count(x => x.ToString() == containsCharacter);
由于
Split
将字符作为
param
,因此可以通过直接列出要计数的字符来重写此操作,如下所示:

int count = testString.Split(containsCharacter.ToCharArray()).Length - 1;

您可以在
字符串上调用
tocharray
,使其成为
char[]
,如下所示:

string containsCharacter = "t";
string testString = "test string contains certain characters";
int count = testString.Count(x => x.ToString() == containsCharacter);
由于
Split
将字符作为
param
,因此可以通过直接列出要计数的字符来重写此操作,如下所示:

int count = testString.Split(containsCharacter.ToCharArray()).Length - 1;

您使用的
Split
版本需要一个字符作为输入。这是字符串的版本:

int count = testString.Split(',', ';', '-').Length - 1;

使用此代码,
count
将是:如果
textBox1,则为1。如果文本包含“test”,则为6,如果包含“t”,则为6。也就是说,它可以处理任何字符串(其长度可以是一个,作为单个字符,或根据需要而定)。

您使用的
拆分版本需要一个字符作为输入。这是字符串的版本:

int count = testString.Split(',', ';', '-').Length - 1;

使用此代码,
count
将是:如果
textBox1,则为1。如果文本包含“test”,则为6,如果它包含“t”,则为6。也就是说,它可以处理任何字符串(其长度可以是一个,作为单个字符,或根据需要而定)。

您可以遍历这些字符

"this string. contains. 3. dots".Split(new[] {"."}, StringSplitOptions.None).Count() - 1

您可以遍历这些字符

"this string. contains. 3. dots".Split(new[] {"."}, StringSplitOptions.None).Count() - 1
编辑: 在更仔细地阅读代码后,我建议您这样做,您应该将您的问题重新表述为 “检查某个字符串在另一个字符串中出现的次数:”

比赛是2场

我最初的帖子回答了您的实际问题“字符串中某个字符的出现”:

数到三

编辑: 在更仔细地阅读代码后,我建议您这样做,您应该将您的问题重新表述为 “检查某个字符串在另一个字符串中出现的次数:”

比赛是2场

我最初的帖子回答了您的实际问题“字符串中某个字符的出现”:



数到三

@jeroenvanevel该字符串中某个字符的出现次数。@puretppc-您应该将char作为参数而不是字符串来传递。@RohitVats是的,它终于起作用了。太好了。有时错误也是不言自明的。倾听他们也可以帮助你解决问题。:)然后使用其他重载,该重载接受
string[]
-
int count=testString.Split(新字符串[]{containschracter},StringSplitOptions.None)。长度-1
@jeroenvanevel该字符串中某个字符的出现次数。@puretppc-您应该将char作为参数传递,而不是字符串。@RohitVats是的,它终于起作用了。太好了。有时错误也是不言自明的。倾听他们也可以帮助你解决问题。:)然后使用其他重载,该重载接受
string[]
-
int count=testString.Split(新字符串[]{containschracter},StringSplitOptions.None)。长度-1c#2.0
中的编码方式,之后我更喜欢
var count=s.count(x=>x='a')
@SriramSakthivel我是旧代码的最大粉丝之一;但是Split也是一个古老的代码(这个答案,就像现在一样,只能处理单个字符,这使得它有点限制):@varocarbas是的,我同意你的看法。另一方面,split不是一个
旧式代码
即使在今天,对于split,您也必须使用split,但我看不到任何替代方法。:)@puretppc计算字符串匹配,如“AN”,我将使用varocarbas在回答中建议的方法。value.Split(新字符串[]{“AN”},StringSplitOptions.None).Count()-1在LINQ时代,除了在狭窄的场景中或在性能至关重要的时候,手动计数是过时的。您的代码提醒了我在
c#2.0
中的编码方式,后来我更喜欢
var Count=s.Count(x=>x='A')
@SriramSakthivel我是旧代码的最大粉丝之一;但是Split也是一个古老的代码(这个答案,就像现在一样,只能处理单个字符,这使得它有点限制):@varocarbas是的,我同意你的看法。在ot上