C#中实现查找字符串中指定字符位置方法小结
作者:wenchm
这篇文章主要为大家介绍了C#中实现查找字符串中指定字符位置的常用方法,本文将以"."字符为例,详细讲解这些方法的具体使用,需要的可以参考下
在字符串中查找“.”字符,并获得其位置,有很多方法,这些方法也适合查找其它字符:
1.使用IndexOf('.')
在C#中,Text.IndexOf('.')是一种使用IndexOf方法查找字符串中.字符位置的方法。IndexOf方法返回字符在字符串中首次出现的索引位置。如果字符不在字符串中,则返回-1。
以下是C#中Text.IndexOf('.')的用法示例:
// 使用IndexOf在字符串中查找"."并指出其位置
namespace SearchChar
{
internal class Program
{
private static void Main(string[] args)
{
ArgumentNullException.ThrowIfNull(args);
string text = "Hello. World!";
int index = text.IndexOf('.');
Console.WriteLine(text+"中首次出现符号.的索引= {0}", index.ToString());
}
}
}
//运行结果:
/*
Hello. World!中首次出现符号.的索引= 5
*/2.使用Text.LastIndexOf('.')
此方法返回字符串中最后一个 . 字符的索引。如果字符不在字符串中,则返回 -1。
// 使用LastIndexOf在字符串中查找"."并指出其位置
namespace LastIndexOf
{
internal class Program
{
private static void Main(string[] args)
{
ArgumentNullException.ThrowIfNull(args);
string text = "Hello, World!";
int index = text.LastIndexOf('.');
Console.WriteLine(text + "中最后出现符号.的索引= {0}", index.ToString());
}
}
}
//运行结果:
/*
Hello. World!中首次出现符号.的索引= 5
*/3.使用Text.IndexOfAny(new char[] { '.', '?' })
此方法返回字符串中 . 或 ? 字符首次出现的索引。如果字符不在字符串中,则返回 -1。
// 使用Text.IndexOfAny(new char[] { '.', '?' })
// 在字符串中查找"."并指出其位置
namespace IndexOfAny
{
internal class Program
{
private static void Main(string[] args)
{
ArgumentNullException.ThrowIfNull(args);
string text = "Hello. World.";
int index = text.IndexOfAny(['.', '?']);
Console.WriteLine(text + "中首次出现符号.的索引= {0}", index.ToString());
}
}
}
//运行结果:
/*
Hello. World.中首次出现符号.的索引= 5
*/4.使用Text.Substring(0, Text.IndexOf("."))
此方法返回字符串中第一个 . 字符之前的部分。
// 使用Substring在字符串中查找"."并指出其位置
namespace Substring
{
internal class Program
{
private static void Main(string[] args)
{
ArgumentNullException.ThrowIfNull(args);
string text = "Hello. World!";
string substring = text.Substring(0, text.IndexOf('.'));
Console.WriteLine(text + "中首次出现符号.之前的子串= {0}", substring);
Console.WriteLine(text + "中首次出现符号.索引= {0}", substring.Length);
}
}
}
//运行结果:
/*
Hello. World!中首次出现符号.之前的子串= Hello
Hello. World!中首次出现符号.索引= 5
*/5.使用Text.Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries)
此方法使用 . 字符作为分隔符将字符串拆分为字符串数组,并删除任何空元素。
// 使用Split在字符串中查找"."并指出其位置
namespace Split
{
internal class Program
{
internal static readonly char[] separator = ['.'];
private static void Main(string[] args)
{
ArgumentNullException.ThrowIfNull(args);
string text = "Hello. World!";
string[] parts = text.Split(separator, StringSplitOptions.RemoveEmptyEntries);
foreach (string part in parts)
{
Console.WriteLine(part);
}
Console.WriteLine(text + "中首次出现符号.索引= {0}", parts[0].Length);
}
}
}
//运行结果:
/*
Hello
World!
Hello. World!中首次出现符号.索引= 5
*/6.使用正则表达式Regex.Match(Text, @"\.")
此方法使用正则表达式查找字符串中的第一个子字符串,该子字符串以 . 字符开头,后跟一个或多个字母数字字符或连字符。
// 使用正则表达式在字符串中查找'.'
using System.Text.RegularExpressions;
namespace _Regex
{
internal partial class Program
{
private static void Main(string[] args)
{
ArgumentNullException.ThrowIfNull(args);
string text = "Hello. World!";
Regex regex = MyRegex1();
Match match = regex.Match(text);
if (match.Success)
{
int dotIndex = match.Index;
Console.WriteLine(text + "中首次出现符号.之后的子串= {0}", text.Substring(dotIndex + 1));
Console.WriteLine(text + "中首次出现符号.索引= {0}", dotIndex);
}
}
[GeneratedRegex(@"\.")]
private static partial Regex MyRegex1();
}
}
//运行结果:
/*
Hello. World!中首次出现符号.之后的子串= World!
Hello. World!中首次出现符号.索引= 5
*/到此这篇关于C#中实现查找字符串中指定字符位置方法小结的文章就介绍到这了,更多相关C#查找指定字符位置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
