C#中实现查找字符串中指定字符位置方法小结

 更新时间:2024年02月20日 09:36:32   作者: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#查找指定字符位置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#调用第三方工具完成FTP操作

    C#调用第三方工具完成FTP操作

    这篇文章介绍了C#调用第三方工具完成FTP操作的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C#中把Datatable转换为Json的5个代码实例

    C#中把Datatable转换为Json的5个代码实例

    这篇文章主要介绍了C#中把Datatable转换为Json的5个代码实例,需要的朋友可以参考下
    2014-04-04
  • 使用C#获取远程图片 Form用户名与密码Authorization认证的实现

    使用C#获取远程图片 Form用户名与密码Authorization认证的实现

    本篇文章介绍了,使用C#获取远程图片 Form用户名与密码Authorization认证的实现。需要的朋友参考下
    2013-04-04
  • c#的treeview绑定和获取值的方法

    c#的treeview绑定和获取值的方法

    这篇文章主要介绍了c#的treeview绑定和获取值的方法,需要的朋友可以参考下
    2014-04-04
  • C#如何获取当前路径的父路径

    C#如何获取当前路径的父路径

    这篇文章主要介绍了C#如何获取当前路径的父路径问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 深入c# Func委托的详解

    深入c# Func委托的详解

    本篇文章是对c#中的Func委托进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 基于C#实现网页爬虫

    基于C#实现网页爬虫

    这篇文章主要为大家详细介绍了基于C#实现网页爬虫的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • C# OpenVINO实现图片旋转角度检测

    C# OpenVINO实现图片旋转角度检测

    这篇文章主要为大家详细介绍了C# OpenVINO如何实现图片旋转角度检测,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-02-02
  • C#使用ping命令的两个例子

    C#使用ping命令的两个例子

    这篇文章主要介绍了C#使用ping命令的两个例子,本文给出了调用CMD命令和使用C# ping类的两个例子,需要的朋友可以参考下
    2014-08-08
  • unity实现摄像头跟随

    unity实现摄像头跟随

    把这个脚本赋给你的摄像机,再把游戏角色赋给character变量,之后就能实现摄像机平滑的跟随player在地球的任一角落了。有需要的小伙伴可以参考下。
    2015-03-03

最新评论