C#几个经常用到的字符串的截取

本文详细介绍了使用C#进行字符串处理的各种实用技巧,包括截取指定长度的子串、删除特定部分、替换指定内容等常见操作,并提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

string str="123abc456";
int i=3;
1 取字符串的前i个字符
   str=str.Substring(0,i); // or  str=str.Remove(i,str.Length-i); 
2 去掉字符串的前i个字符:
   str=str.Remove(0,i);  // or str=str.Substring(i); 
3 从右边开始取i个字符:
  str=str.Substring(str.Length-i); // or str=str.Remove(0,str.Length-i);
4 从右边开始去掉i个字符:
   str=str.Substring(0,str.Length-i); // or str=str.Remove(str.Length-i,i);
5 判断字符串中是否有"abc" 有则去掉之
   using System.Text.RegularExpressions;
   string str = "123abc456";
   string a="abc";
   Regex r = new  Regex(a); 
   Match m = r.Match(str); 
   if (m.Success)
   {
    //下面两个取一种即可。
      str=str.Replace(a,"");
      Response.Write(str);   
      string str1,str2;
      str1=str.Substring(0,m.Index);
      str2=str.Substring(m.Index+a.Length,str.Length-a.Length-m.Index);
      Response.Write(str1+str2); 
   }
6 如果字符串中有"abc"则替换成"ABC"
   str=str.Replace("abc","ABC");

************************************************

string str="adcdef"; int indexStart = str.IndexOf("d");

int endIndex =str.IndexOf("e");

string toStr = str.SubString(indexStart,endIndex-indexStart);

c#截取字符串最后一个字符的问题!

str1.Substring(str1.LastIndexOf(",")+1);

C# 截取字符串最后一个字符

k = k.Substring(k.Length-1, 1);



本文转自http://www.cnblogs.com/VicHuang/archive/2011/10/26/2225376.html

### C#字符串截取的方法与示例 在 C# 编程语言中,有多种方法可以用于字符串截取操作。以下是常见的几种方法及其对应的代码示例: --- #### 1. 使用 `Substring` 方法 这是最常用的字符串截取方法之一。它允许指定起始位置以及要截取的字符数。 ```csharp using System; class Program { static void Main() { string str = "Hello World"; string result = str.Substring(6); // 从索引为6的位置开始截取到结尾 Console.WriteLine(result); // 输出 "World" string partialResult = str.Substring(0, 5); // 从索引0开始截取长度为5的部分 Console.WriteLine(partialResult); // 输出 "Hello" } } ``` 上述代码展示了两种不同的调用形式:仅提供起始索引时会截取字符串末尾;同时提供起始索引和长度则只会截取指定范围内的子串[^1]。 --- #### 2. 利用 `Split` 方法分割字符串 当需要按照某个分隔符拆分字符串并提其中的一部分时,可以考虑使用 `Split` 方法。 ```csharp using System; class Program { static void Main() { string str = "GTAZB_JiangjBen_123"; char[] delimiters = { 'j', '_' }; // 多个分隔符组成的数组 string[] parts = str.Split(delimiters, StringSplitOptions.RemoveEmptyEntries); foreach (string part in parts) { Console.WriteLine(part); // 分别输出 "GTAZB", "Ben", "123" } } } ``` 在这个例子中,我们指定了两个分隔符 `'j'` 和 `'_'` 来切割原始字符串,并通过遍历结果集实现了部分数据的选择性展示[^2]。 --- #### 3. 运用正则表达式匹配目标片段 对于更加复杂的模式识别需求,则可能需要用到正则表达式的强大功能来进行精准定位与捕获所需的内容。 ```csharp using System; using System.Text.RegularExpressions; class Program { static void Main() { string input = "SampleTextWithNumbers123AndLettersXYZ"; Regex regex = new Regex(@"\d+"); Match match = regex.Match(input); if(match.Success){ Console.WriteLine("Extracted Number:" +match.Value );// 输出 "123" } } } ``` 这里采用了正则表达式 `\d+` 来寻找连续的一组数字,在实际应用场景下可以根据具体规则调整相应的 pattern 表达式[^3]。 --- #### 4. 结合 LINQ 查询处理字符串序列 LINQ 提供了一种优雅的方式来筛选符合条件的数据项,同样适用于基于条件过滤后的字符串拼接场景。 ```csharp using System; using System.Linq; class Program { static void Main() { string sourceString = "ABCDEFGH"; var filteredChars = sourceString.Where(c => c >= 'D'); string finalString = new string(filteredChars.ToArray()); Console.WriteLine(finalString); // 输出 "DEFGH" } } ``` 这段程序先是对原字符串中的每一个字符执行判断逻辑选出大于等于字母'D'的所有元素形成新的集合再转回完整的字符串显示出来[^4]。 --- ### 总结 综上所述,C#提供了灵活多样的手段支持开发者针对不同情况选合适的策略完成字符串切片任务。无论是简单的固定偏移量还是涉及复杂业务逻辑的情形都能找到恰当的技术解决方案予以应对。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值