用于计算字符串中的行数的 C# 程序
在 C# 中,字符串是 Unicode字符序列或字符数组。 Unicode字符的范围是 U+0000 到 U+FFFF。字符串是文本的表示。在本文中,我们将创建一个 C# 程序来计算给定字符串中存在的行数。
例子:
Input : hey geeks\n welcome to \n geeksforgeeks \n happy learning
Output : 4
Input : welcome\n to geeksforgeeks
Output : 2
所以我们可以使用以下方法来完成这个任务:
- 通过计算字符
- 通过使用 Split() 方法
- 通过使用 Regex.Matches 方法
- 通过使用 IndexOf() 方法
方法一:计算字符
给定一个包含多行的字符串,我们需要找到字符串中存在的行数。正如我们所知,字符串中的行由字符分隔(即\n)。所以我们使用下面的方法来计算字符串中存在的行数。
方法:
- Initialize the variable count to zero.
- Using a for loop iterate the given string.
- if a new line character (\n) is encountered then increment the value of count by 1.
- By the end of the iteration, the count variable will be the value of the number of lines present in the given string.
例子:
在此示例中,如果遇到字符,则在“inputstr”变量中分配的整个字符串将从左到右迭代,则表示开始了新行,因此我们将行数的计数增加 1。最后将获得字符串中的行数。
C#
// C# program to display the total number of lines
// present in the given string
using System;
class GFG{
static void Main()
{
// Initializing a string with multiple lines.
string intputstr = "hey geeks\n welcome to \n " +
"geeksforgeeks \n happy learning ";
int count = 1;
Console.WriteLine("Input String:\n" + intputstr);
// Iterating the string from left to right
for(int i = 0; i < intputstr.Length; i++)
{
// Checking if the character encountered is
// a newline character if yes then increment
// the value of count variable
if (intputstr[i] == '\n')
count++;
}
// Print the count
Console.Write("\nNumber of new lines:" + count);
}
}
C#
// C# program to display the total number of lines
// present in the given string. Using Split() method
using System;
class GFG{
static void Main()
{
// Initializing a string with multiple lines.
string intputstr = "hey geeks\n welcome to \n " +
"geeksforgeeks \n happy learning ";
Console.WriteLine("Input String:\n" + intputstr);
// Now the Split('\n') method splits the newline
// characters and returns an array of strings and
// the Length is used to find the length of the array.
int result = intputstr.Split('\n').Length;
// Print the count
Console.Write("\nNumber of new lines:" + result);
}
}
C#
// C# program to count the lines in the given string
// Using Regular Expressions
using System;
using System.Text.RegularExpressions;
class GFG{
static void Main()
{
// Input string
string inputstr = "hey geeks\n welcome to \n " +
"geeksforgeeks \n happy learning ";
Console.WriteLine("Input string:" + inputstr);
// Passing string and regular expression to the
// matches method we are adding 1 to number of
// occurrences of \n because we will not have
// \n at the end of last line
int result = Regex.Matches(inputstr, "\n").Count + 1;
Console.Write("Total number of lines: " + result);
}
}
C++
// C# program to count the lines in the given string
// Using Regular Expressions
using System;
using System.Text.RegularExpressions;
class GFG{
static void Main()
{
// Input string
string inputstr = "hey geeks\n welcome to \n " +
"geeksforgeeks \n happy learning ";
// Display the input string
Console.WriteLine("Input string:" + inputstr);
int countlines = 1;
int startingpoint = 0;
// Here the while loop counts the number
// of lines present in the given string
// Using IndexOf() method.
while ((startingpoint = inputstr.IndexOf(
'\n', startingpoint)) != -1)
{
countlines++;
startingpoint++;
}
Console.Write("Total number of lines: " + countlines);
}
}
输出:
Input String:
hey geeks
welcome to
geeksforgeeks
happy learning
Number of new lines:4
方法 2:使用 Split() 方法
Split() 方法返回一个字符串数组,该数组是通过拆分由在 Split() 方法中作为参数传递的分隔符分隔的字符串而生成的。在这里,我们将 \n 作为参数传递给 Split() 方法,这会将行拆分为字符串并创建一个行数组。现在找到给出字符串中存在的行数的数组的长度。
句法:
str.Split(‘\n’).Length
例子:
在此示例中,在“inputstr”变量中分配的给定字符串被拆分为字符串数组,拆分在每个有字符的位置进行。现在数组的长度是字符串中出现的换行符的数量。
C#
// C# program to display the total number of lines
// present in the given string. Using Split() method
using System;
class GFG{
static void Main()
{
// Initializing a string with multiple lines.
string intputstr = "hey geeks\n welcome to \n " +
"geeksforgeeks \n happy learning ";
Console.WriteLine("Input String:\n" + intputstr);
// Now the Split('\n') method splits the newline
// characters and returns an array of strings and
// the Length is used to find the length of the array.
int result = intputstr.Split('\n').Length;
// Print the count
Console.Write("\nNumber of new lines:" + result);
}
}
输出:
Input String:
hey geeks
welcome to
geeksforgeeks
happy learning
Number of new lines:4
方法 3:使用 Regex.Matches() 方法
我们还可以使用 Regex.Matches() 方法计算给定字符串中存在的行数。这用于在指定的输入字符串中搜索给定正则表达式的所有出现。
句法:
Regex.Matches(string inputstr, string matchpattern)
在这里,这个方法有两个参数,名为“inputstr”,表示要搜索匹配的输入字符串,“matchpattern”表示要与输入字符串匹配的正则表达式模式。
例子:
在这个例子中,我们将在 Matches() 方法中传递一个正则表达式“ \n”,并找到它出现的次数,然后将其加一,我们将得到字符串中的行数。
C#
// C# program to count the lines in the given string
// Using Regular Expressions
using System;
using System.Text.RegularExpressions;
class GFG{
static void Main()
{
// Input string
string inputstr = "hey geeks\n welcome to \n " +
"geeksforgeeks \n happy learning ";
Console.WriteLine("Input string:" + inputstr);
// Passing string and regular expression to the
// matches method we are adding 1 to number of
// occurrences of \n because we will not have
// \n at the end of last line
int result = Regex.Matches(inputstr, "\n").Count + 1;
Console.Write("Total number of lines: " + result);
}
}
输出:
Input string:hey geeks
welcome to
geeksforgeeks
happy learning
Total number of lines: 4
方法四:使用 IndexOf() 方法
我们还可以使用 IndexOf() 方法计算给定字符串中存在的行数。此方法用于查找给定字符串中给定字符第一次出现的从零开始的索引。在该方法字符,从指定位置开始查找指定字符,如果没有找到则返回-1。
句法:
public int IndexOf(char y, int startchar)
该方法有两个参数,第一个参数是char y,它表示要搜索的字符,第二个参数是startchar,以整数值的形式表示开始搜索的起始位置。
例子:
在此示例中,while 循环计算“inputstr”中存在的换行符总数。在这个 while 循环中,我们使用 IndexOf() 方法,其中我们传递“inputstr”和“\n”,然后我们检查序列的索引是否等于 true,如果指定条件的值为 true,则执行指定语句并显示输出。
C++
// C# program to count the lines in the given string
// Using Regular Expressions
using System;
using System.Text.RegularExpressions;
class GFG{
static void Main()
{
// Input string
string inputstr = "hey geeks\n welcome to \n " +
"geeksforgeeks \n happy learning ";
// Display the input string
Console.WriteLine("Input string:" + inputstr);
int countlines = 1;
int startingpoint = 0;
// Here the while loop counts the number
// of lines present in the given string
// Using IndexOf() method.
while ((startingpoint = inputstr.IndexOf(
'\n', startingpoint)) != -1)
{
countlines++;
startingpoint++;
}
Console.Write("Total number of lines: " + countlines);
}
}
输出:
Input string:hey geeks
welcome to
geeksforgeeks
happy learning
Total number of lines: 4