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# 调用Delphi dll 实例代码

    C# 调用Delphi dll 实例代码

    这篇文章介绍了C# 调用Delphi dll 实例代码,有需要的朋友可以参考一下
    2013-09-09
  • C#实现弹窗提示输入密码

    C#实现弹窗提示输入密码

    这篇文章主要为大家详细介绍了C#实现弹窗提示输入密码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • C#文件读写操作详细操作指南

    C#文件读写操作详细操作指南

    这篇文章主要给大家介绍了关于C#文件读写操作详细操作指南,在后端开发中使用C#语言进行文件操作是一个常见的任务,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • C#利用GDI+绘制旋转文字等效果实例

    C#利用GDI+绘制旋转文字等效果实例

    这篇文章主要介绍了C#利用GDI+绘制旋转文字等效果实例,是非常实用的重要技巧,需要的朋友可以参考下
    2014-09-09
  • WinForm实现基于BindingSource的方法扩展

    WinForm实现基于BindingSource的方法扩展

    这篇文章主要介绍了WinForm实现基于BindingSource的方法扩展,需要的朋友可以参考下
    2014-08-08
  • C#入参使用引用类型要加ref的原因解析

    C#入参使用引用类型要加ref的原因解析

    这篇文章主要介绍了C#入参使用引用类型要加ref的原因解析,我们在实际开发中还是能够碰到一些引用类型添加ref的场景,其实道理也是一样的,就是将引用类型的栈的地址传递到了方法中,那么和不添加有啥区别,感兴趣的朋友跟随小编一起看看吧
    2022-11-11
  • C#发送Get、Post请求(带参数)

    C#发送Get、Post请求(带参数)

    本文主要介绍了C#发送Get、Post请求,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • C#位运算以及实例计算详解

    C#位运算以及实例计算详解

    这篇文章主要给大家介绍了关于C#位运算以及实例计算的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • 基于WPF实现简单的下拉筛选控件

    基于WPF实现简单的下拉筛选控件

    这篇文章主要为大家详细介绍了如何基于WPF实现简单的下拉筛选控件,文中的示例代码讲解详细,对我们学习或工作有一定帮助,感兴趣的小伙伴可以了解一下
    2023-04-04
  • C# TreeView从数据库绑定数据的示例

    C# TreeView从数据库绑定数据的示例

    这篇文章主要介绍了C# TreeView从数据库绑定数据的示例,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-03-03

最新评论