当前位置: 首页 > news >正文

字符串操作

1. 判断字符串是否为null或者empty,使用IsNullOrEmpty() 

2.得到字符串中的字符

string str = "abcd";
char letter = str[0]; 

 也可以遍历字符串

foreach(char c in "asdfg")
{
    Console.Write(c + ",');
}

3.字符串内搜索,可以使用Contains, StartWith, EndWith, IndexOf, LastIndexOf, IndexOfAny。

   Contains, StartWith, EndWith返回bool值。IndexOf, LastIndexOf, IndexOfAny返回字符串出现的位置。

4. 字符串处理

   截图字符串 Substring(int startIndex, int length)    startIndex  开始截图的位置,length 要截取的长度

    string str= "qwert".Substring(0,3) // str= qwe

  在指定位置插入或移除字符  Insert(), Remove() 

    string str1 = "asdfg".Insert(1, ", " );  // a, sdfg

    string str2 = "asdfg".Remove(2,2); // afg

  PadLeft 和 PadRight,用特定字符把字符串填充成指定长度.如果没有指定字符,则默认使用空格

   Console.WriteLine("12345".PadLeft(7, '#')); // ##12345

   Console.WriteLine("12345",PadLeft(7));  //  12345

  替换字符串中的字符或者子字符串 Replace

   Console.WriteLine("Hello world".Replace(" ", ","))  // Hello,world

  转换大小写 ToUpper和ToLower

5.分割和连接字符串   Split, Join, Concat的用法

   Split(params char[] separator) 返回的字符串数组包含此实例中的子字符串

   如果 separator 参数为 null 或不包含任何字符,则采用空白字符作为分隔符

   

string[]  words = "my name is xxx".Split();
foreach(var word in words)
{
   Console.WriteLine(word + "|"); //my|name|is|xxx|
}

引用MSDN的代码:

public class SplitTest {
    public static void Main() {

        string words = "This is a list of words, with: a bit of punctuation" +
                       "\tand a tab character.";

        string [] split = words.Split(new Char [] {' ', ',', '.', ':', '\t' });

        foreach (string s in split) {

            if (s.Trim() != "")
                Console.WriteLine(s);
        }
    }
}


Join 连接指定数组的元素或集合的成员,在每个元素或成员之间使用指定的分隔符。     

string[] strs={"my", "name", "is" ,"xxx"};

Console.WriteLine(string.Join(" ", strs)); //在元素之间加入空格

Concat 和Join类似,但是只接受字符串数组,并且没有分隔符. Concat和+的效果相同

String str= string.concat("my", "name", "is", "xxx"); //mynameisxxx

 6. 格式化字符 String.Format

    string str = String.Format("This is a {0}", ”Apple“);

转载于:https://www.cnblogs.com/wingswang/p/4588778.html

相关文章:

  • device tree website
  • NYOJ 113 字符串替换(C++STL解法)
  • 2.MyBatis 框架原理
  • 201604-201704格尔斯常用链接记录
  • java多线程基本概述(二十一)——BlockingQueue
  • 【安德鲁斯】基于脚本的数据库quot;增量更新quot;,如果不改变,每次更新java代码、!...
  • Django开发BBS---51网络课程笔记(1)
  • 问题之ssh中Host key verification failed的解决
  • 计算机是如何做加法的?(7)——回顾与总结
  • 浅析JavaBean
  • 根据不同省份读取配置文件
  • iostat 等运维命令用法
  • 单词最近距离
  • Eclipse安装SVN插件总结
  • 排序算法6--选择排序--简单选择排序
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • Druid 在有赞的实践
  • echarts的各种常用效果展示
  • k8s 面向应用开发者的基础命令
  • python 装饰器(一)
  • Vue 重置组件到初始状态
  • Vue全家桶实现一个Web App
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 构建二叉树进行数值数组的去重及优化
  • 猴子数据域名防封接口降低小说被封的风险
  • 前端面试之闭包
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 如何优雅地使用 Sublime Text
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 自动记录MySQL慢查询快照脚本
  • ionic入门之数据绑定显示-1
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • #{} 和 ${}区别
  • #NOIP 2014# day.1 T2 联合权值
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (办公)springboot配置aop处理请求.
  • (分布式缓存)Redis哨兵
  • (十三)Maven插件解析运行机制
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • *** 2003
  • ... 是什么 ?... 有什么用处?
  • .net core 连接数据库,通过数据库生成Modell
  • .net快速开发框架源码分享
  • @RequestParam,@RequestBody和@PathVariable 区别
  • @Responsebody与@RequestBody
  • [ 手记 ] 关于tomcat开机启动设置问题
  • [100天算法】-目标和(day 79)
  • [2015][note]基于薄向列液晶层的可调谐THz fishnet超材料快速开关——
  • [BUG]vscode插件live server无法自动打开浏览器
  • [ccc3.0][数字钥匙] UWB配置和使用(二)
  • [Contest20180313]灵大会议
  • [DM复习]关联规则挖掘(下)
  • [hive]中的字段的数据类型有哪些
  • [iOS]-NSTimer与循环引用的理解
  • [lesson17]对象的构造(上)