C#键盘输入一个有大小写字母的字符串和一个查询字符串,使用String类的IndexOf判断在该字符串中,要查找的字符串出现的次数
时间: 2024-06-09 14:07:12 浏览: 79
可以使用以下代码实现:
```csharp
string input = Console.ReadLine(); // 获取键盘输入的字符串
string query = Console.ReadLine(); // 获取查询字符串
int count = 0; // 计数器,记录查询字符串出现的次数
int index = -1; // 每次查询的起始位置,初始值为-1表示从字符串开头开始查询
while (true)
{
index = input.IndexOf(query, index + 1); // 从上一次查询的位置之后开始查找
if (index == -1) // 如果没有找到,退出循环
{
break;
}
count++; // 找到了,计数器加1
}
Console.WriteLine("查询字符串出现的次数为:" + count);
```
其中,`IndexOf`方法可以在字符串中查找指定字符串的位置,并返回第一次出现的索引。如果没找到,则返回-1。我们可以通过循环,每次从上一次查询的位置之后开始查找,直到查找不到为止。
相关问题
c# 输入一个字符串,判断其中有几个元音字符
在C#中,你可以编写一个函数来计算给定字符串中有多少个元音字符。元音字母通常包括'a', 'e', 'i', 'o', 'u'以及在某些语言中还包括'y'。以下是一个简单的示例:
```csharp
using System;
public class Program {
static void Main() {
Console.WriteLine("请输入一个字符串:");
string input = Console.ReadLine();
int vowelCount = CountVowels(input);
Console.WriteLine($"输入的字符串中有 {vowelCount} 个元音字符.");
}
// 函数来计数元音字符
static int CountVowels(string str) {
char[] vowels = { 'a', 'e', 'i', 'o', 'u', 'y' };
int count = 0;
foreach (char c in str.ToLower()) {
if (Array.IndexOf(vowels, c) != -1) {
count++;
}
}
return count;
}
}
```
这个程序首先读取用户输入的字符串,然后调用`CountVowels`函数,该函数遍历字符串中的每个字符,并将其转换为小写(因为大小写不区分),然后检查它是否在元音数组中。如果找到,就增加计数器。最后返回元音的总数。
C# 检查一个字符串中是否包含且包含
C#提供了几种方法来检查一个字符串中是否包含另一个字符串。这里介绍两种常见的方法:
1. 使用`Contains`方法:
`Contains`方法是`System.String`类的一个成员,它可以检查当前字符串实例是否包含指定的子字符串。如果找到指定的子字符串,则返回`true`;否则返回`false`。
示例代码如下:
```csharp
string text = "Hello, C#!";
bool contains = text.Contains("C#"); // 返回 true
```
2. 使用`IndexOf`方法:
`IndexOf`方法同样属于`System.String`类,它搜索指定的子字符串,如果找到,则返回第一个匹配项的索引,如果没有找到,则返回-1。
示例代码如下:
```csharp
string text = "Hello, C#!";
int index = text.IndexOf("C#"); // 返回索引位置,如果找到则大于-1
bool contains = index >= 0; // 如果index大于等于0,则表示找到了子字符串
```
请注意,上述两种方法都是大小写敏感的。如果你需要进行不区分大小写的检查,可以在调用这些方法之前,将字符串转换为统一的大小写(通常是小写)。
阅读全文