首页 > 编程语言 >C#利用String类的IndexOf、LastIndexOf、Substring截取字符串

C#利用String类的IndexOf、LastIndexOf、Substring截取字符串

时间:2023-01-26 14:44:06浏览次数:49  
标签:Int32 LastIndexOf String 字符 C# Substring AID splitIndex

一、String.IndexOf

String.IndexOf 方法 (Char, Int32, Int32)
报告指定字符在此实例中的第一个匹配项的索引(从0开始)。搜索从指定字符位置开始,并检查指定数量的字符位置。
String.IndexOf(value, startIndex, count)

参数
value:要查找的 Unicode 字符。 
startIndex:搜索起始位置。 
count:要检查的字符位置数。
返回值(Int32):
如果找到该字符,则为 value 的索引位置;否则如果未找到,则为 -1。


 二、String.LastIndexOf

String.LastIndexOf 方法
报告指定的 Unicode 字符或 String 在此实例中的最后一个匹配项的索引位置。


 三、String.Substring

String.Substring 方法
从此实例检索子字符串。 

名称 说明
String.Substring (Int32) 从此实例检索子字符串。子字符串从指定的字符位置开始。
String.Substring (Int32, Int32) 从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。


例:读取文件内容,并以“$”和“#”为索引截取字符串。

文件内容为:

1$AID_700e5984dba96744
2$AID_b5f0d8ca79ae856e#AID_700e5984dba96744
3$AID_2f0b6558766df9b6#AID_b5f0d8ca79ae856e

		if (!File.Exists(CablewayContants.CLIENTS_FILE_NAME))
            {
                throw new Exception("Fatal Error: File NOT Found");
            }
            else
            {
                StreamReader sr = new StreamReader(CablewayContants.CLIENTS_FILE_NAME, Encoding.UTF8);
                string s;
                while ((s = sr.ReadLine()) != null)
                {
                    int splitIndex = s.IndexOf("$");
                    int splitIndex2 = s.LastIndexOf("#");
                    if (splitIndex > 0)
                    {
                        string lDeviceName = s.Substring(0, splitIndex);
                        string lDeviceID = null;
                        string lDeviceNeighbourID = null;
                        if (splitIndex2 > 0)
                        {
							// 根据“$”和“#”的索引截取"AID_700e5984dba96744"
							lDeviceID = s.Substring(splitIndex + 1, splitIndex2 - splitIndex - 1);
                            lDeviceNeighbourID = s.Substring(splitIndex2 + 1);
                        }
                        else
                        {
                            lDeviceID = s.Substring(splitIndex + 1);
                        }
                    }
                }
                sr.Close();
            }

标签:Int32,LastIndexOf,String,字符,C#,Substring,AID,splitIndex
From: https://www.cnblogs.com/keepdoit/p/17067826.html

相关文章

  • chromium源码目录
            ......
  • vue学习之-----移动端插件FastClick
    1、为什么要使用fastclick(1)移动端的浏览器,默认会在用户点击屏幕300ms延迟之后,才会触发点击事件【为了检查用户是否在做双击】,为了能立即响应用户的点击事件,所以有了fastcl......
  • LINUX-chart图表简单操作
    添加模块   添加头文件  需要在窗体上放置 QChartView控件,工具箱没找到,需要在别的项目复制过来一个这个控件。代码MainWindow::MainWindow(QWidget*pare......
  • Educational Codeforces Round 142 (Rated for Div. 2)
    E.DivisorsandTable\(m=m_1\cdotm_2\)找\(m\)的所有因子,记为数组\(x\)。对于\(x_i\),找它的最大的小于等于\(n\)的因子\(y\),那么\(x_i\)的贡献为\(\frac{x......
  • cookie、session、localStorage、sessionStorage区别
    cookie和session参与服务器通信,而localStorage和sessionStorage不参与服务器通信。cookie和session的区别数据存储位置有区别:cookie保存在浏览器端,session保存在服务器......
  • docker 日常命令小笔记
    目录​​常见命令​​​​启动并启动日志​​​​进入容器​​​​dockerfiles​​​​apk命令​​​​编辑网卡centos​​​​重启网卡​​​​查看防火墙的状态​​​​......
  • 《RPC实战与核心原理》学习笔记Day9
    10|路由策略:怎么让请求按照设计的规则发到不同的节点上?我们在真实的环境中,服务提供方是以集群的方式对外提供服务,这对于服务调用方来说,就是一个借口会有多个服务提供方......
  • VScode中调试Unity【Debugger for Unity】
    我遇到的情况:在点击运行和调试时,出现中间栏让你选择调试器,我点击UnityDebugger没反应。单击创建Launch文件也无效,没有UnityDebugger的选项删除.vscode/launch.json如......
  • 总结 CSS 伪类选择器 nth-child
    前言nth-child伪类选择器非常地好用,所以必须得掌握它,能够为我们简化不少的CSS代码。比如选择前n行元素、选择后n行元素、选择奇偶行元素、选择n倍元素等。其语法......
  • JavaScript学习笔记—Date
    在JS中所有的和时间相关的数据都由Date对象来表示对象的方法(1)getFullYear()返回当前日期的年份(4位)(2)getMonth()返回当前日期的月份(0-11)(3)getDate()返回当前日期的几......