C#中的字符串处理
C#中的字符串处理
是由多个单个字符组成的。字符串的关键字是string,而我们单个字符char型。也就是一个字符串可以分为很多个char的字符。注意 同时,我们在开发项目或者学习时。更多的操作不是数字也不是图片。而是我们要学习的字符串。
一、常用字符串有哪一些?
1. 获得字符串的长度,也就是字符串由几个字符组成的。string.Length
using System;
public class Test
{
public static void Main()
{
string str = "323dsdsda32sds";
//str字符串长度为:14
//表示字符串由14个字符组成
Console.WriteLine("str字符串长度为:"+str.Length);
Console.WriteLine("str字符串第一个字符是:"+str[0]);
Console.WriteLine("str字符串最后一个字符是:"+str[(str.Length-1)]);
//一个字符串可以使用下标来访问那么就可以使用循环
foreach( char i in str){
Console.WriteLine(i);
}
for(int i = 0; i < str.Length;i++){
Console.WriteLine(str[i]);
}
}
}
2. 查找字符串的字符
using System;
public class Test
{
public static void Main()
{
string str = "323dsdsd@a32sds";
//IndexOf进行查找字符时,如果没有找到则返回-1
//如果有找到,则返回查找字符所在的位置。
if(str.indexOf("@") != -1){
Console.WriteLine("查找字符所在位置是:"+str.indexOf("@"));
}else{
Console.WriteLine("查找字符不存在");
}
}
}
IndexOf和LastIndexOf一起使用
using System;
public class Test
{
public static void Main()
{
string str = "323dsdsd@a32sds";
int firstIndex = str.IndexOf("@");
int lastIndex = str.LastIndexOf("@");
if(firstIndex != -1){
if (firstIndex == lastIndex){
Console.WriteLine("只出现了一次");
}else{
Console.WriteLine("不只一次出现");
}
}else{
Console.WriteLine("没有找到查找字符");
}
}
}
**注意:**IndexOf()表示查找指定字符,如果有就直接返回字符串下标,不会往后查找。而LastIndexOf()则返回指定字符最一次出现的位置。
3.字符串中替换
using System;
public class Test
{
public static void Main()
{
//第一个@符号替换成_,第一个&替换成-
string str = "32@3dsdsd@a32&sds";
if(str.IndexOf("@") != -1){
str.Replace("@", "_");
}
if(str.IndexOf("&") != -1){
str.Replace("&","-");
}
Console.WriteLine(str);
}
}
4.字符串截取
a、Substring(指定位置);//从字符串中的指定位置开始截取到字符串结束
using System;
public class Test
{
public static void Main()
{
//从字符串中截想要的内容
//32@不是我想要的
string str = "32@3dsdsd@a32&sds";
string tempStr;
tempStr = str.SubString(2);
Console.WriteLine(tempStr);
}
}
5.字符串分割和拼接|Split and Join
using System;
public class Test
{
public static void Main()
{
//短语分为每个单词的字符串数组
string str = "The quick brown fox jumps over the lazy dog.";
//使用Split会返回一个数组
tmpData = str.Split(" ");
foreach(string item in tmpData){
Console.WriteLine(item);
}
//把数组按一定规则来拼接成一个字符串
string tmpStr = String.Join(" Hello ", tmpData);
Console.WriteLine(tmpStr);
//输出结果:The Hello quick Hello brown Hello fox Hello jumps Hello over Hello the Hello lazy Hello dog.
}
}
关于字符串的分割和拼接。Join是把一个数组按一定规则拼接一个字符串,而Split则是按一定规则把字符串分割成一个数组。
C#中的字符串处理的更多相关文章
- Python3中的字符串函数学习总结
这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...
- 使用strings查看二进制文件中的字符串
使用strings查看二进制文件中的字符串 今天介绍的这个小工具叫做strings,它实现功能很简单,就是找出文件内容中的可打印字符串.所谓可打印字符串的涵义是,它的组成部分都是可打印字符,并且以nu ...
- 在 case 语句中使用字符串-转
http://www.cnblogs.com/del/archive/2008/07/08/1237856.html 非常遗憾 Delphi 的 case 语句不支持字符串, 但我觉得这也可能是基于效 ...
- 使用Microsoft Roslyn提取C#和VB.NET源代码中的字符串常量
Microsoft Roslyn是微软.NET“编译器即服务(Compiler as a Service)”的主要产品,它提供了开放的编译器API,并为源代码产生.分析和重构提供了新一代的语言对象模型 ...
- SQL Server中截取字符串常用函数
SQL Server 中截取字符串常用的函数: .LEFT ( character_expression , integer_expression ) 函数说明:LEFT ( '源字符串' , '要截 ...
- 在文件夹中 的指定类型文件中 查找字符串(CodeBlocks+GCC编译,控制台程序,仅能在Windows上运行)
说明: 程序使用 io.h 中的 _findfirst 和 _findnext 函数遍历文件夹,故而程序只能在 Windows 下使用. 程序遍历当前文件夹,对其中的文件夹执行递归遍历.同时检查遍历到 ...
- 7.Java中的字符串
1.String的特性 特性一:不可变性 String s=new String("yangyun") s=s.toUpperCase(); 这里的s,s占用的空间是不一样的(地址 ...
- C# 利用占位符替换word中的字符串和添加图片
利用占位符替换word中的字符串和添加图片 ///<summary> /// 替换word模板文件内容,包括表格中内容 /// 调用如下:WordStr ...
- 使用C#程序处理PowerPoint文件中的字符串
最近, 有同事偶然发现Microsoft Office PowerPoint可以被看作是一个压缩包,然后通过WinRAR解压出来一组XML文件.解压出来的文件包括: 一个索引文件名称为:[Conte ...
- Java OOP中的字符串篇
字符串的三大特征: String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 一.定义 查看 API 会发现,String.St ...
随机推荐
- jspdf + html2canvas 实现html转pdf (提高分辨率版本)
刚解决了html中某div块生成pdf的问题,热乎乎的,赶紧记录下 引入的js传送门: https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jsp ...
- SAP CRM Transaction处理中的权限控制
当试图打开一个Opportunity时, 系统会进行如下一系列的权限检查: 1. 检查Authorization object CRM_ORD_OP: 此处会检查当前user的partner func ...
- 使用nestjs集成grpc具体操作
两个程序中, 提供grpc服务的称为服务端, 调用grpc服务的为客户端, 以下是grpc服务端和客户端的代码编写 1. 创建两个nestjs项目demo1(端口: 3000)和demo2(端 ...
- 看逐浪CMS技术小哥做SVG动画(附使用Bodymovin和Lottie将Adobe After Effects(AE)程式转为 HTML5/Android/iOS原生的动画全过程-即AE转svg\canvas\html5动画)
名词解解释 adobe After Effects AE:adobe After Effects,adobe公司的专业视频制作软件. Bodymovin插件预览 Bodymovin:是一个AE的插 ...
- 机器学习实用案例解析(1) 使用R语言
简介 统计学一直在研究如何从数据中得到可解释的东西,而机器学习则关注如何将数据变成一些实用的东西.对两者做出如下对比更有助于理解“机器学习”这个术语:机器学习研究的内容是教给计算机一些知识,再让计算机 ...
- Python模块三
collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict. ...
- Flutter Weekly Issue 47
教程 开辟 Dart 到 Native 的超级通道,饿了么跨平台的最佳实践 当永恒的软键盘问题遇到Flutter 插件 fijkplayer ijkplayer for flutter. ijkpla ...
- StormDRPC流程解读
Storm 的编程模型是一个有向无环图,模型角度决定了 Storm 的 Spout 接收到外部系统的请求,将请求数据分发给下游的 bolt 进行处理后,spout 并不能得到 bolt 的处理结果并将 ...
- 【Weiss】【第03章】练习3.25:数组模拟队列
[练习3.25] 编写实现队列的例程,使用 a.链表 b.数组 Answer: 在这章一开头就已经写了个链表的队列例程了,所以实际上只要做b小题就可以. 数组模拟队列和链表的两点小不同是: ①.数组空 ...
- annaconda的安装及使用
一.安装 1.安装包下载: 方式1:官网:https://www.anaconda.com/distribution/ 方式2:清华镜像源:https://mirrors.tuna.tsinghua. ...