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 ...
随机推荐
- 【echarts3】 折线图我踩过的那些坑 (tooltip 设置,line 单个点/散点不显示问题)
echarts 折线图小技巧 echarts 折线图功能丰富且官方文档详细易懂,上手比较容易,这篇文章将分享一些项目中踩过的坑,示例主要以多条曲线为主,对大家完成一些 曲线.tooltip 和 mar ...
- C/C++ 手动开O2
手动O2比赛不能用,平时玩玩就好 #pragma GCC optimize (2) #pragma G++ optimize (2)
- vijos 1449 字符串还原
背景 小K是一位蔚蓝教主的崇拜者(Orz教主er),有一天,他收到了一封匿名信,信告诉了小K由于他表现出色,得到了一次当面Orz教主的机会,但是要当面Orz教主可不那么容易,不是每个人都有资格Orz教 ...
- 必备技能五、router路由钩子
在路由跳转的时候,我们需要一些权限判断或者其他操作.这个时候就需要使用路由的钩子函数. 定义:路由钩子主要是给使用者在路由发生变化时进行一些特殊的处理而定义的函数. 总体来讲vue里面提供了三大类钩子 ...
- js中所有函数的参数(按值和按引用)都是按值传递的,怎么理解?
我觉着我可能对这块有点误解,所以单独开个博说下自己的理解,当然是研究后的正解了. 1,参数传递是基本类型,看个例子: function addTen(num){ num += 10; return n ...
- OpenCV中Mat的基本用法:创建、复制
OpenCV中Mat的基本用法:创建.复制 一.Mat类的创建: 1.方法一: 通过读入一张图像,直接将其转换成Mat对象. Mat image = imread("test.jpg&quo ...
- 五分钟完成 ABP vNext 通讯录 App 开发
五分钟完成 ABP vNext 通讯录 App 开发 ABP vNext(后文简称Abp)是 Volo 公司堪称艺术品级的应用开发框架,它基于领域驱动设计(DDD)的思维,创新地采用了模块化的设计.A ...
- 使用PageHelper插件分页时,如何对对象进行转换以及添加属性
一.插件介绍 PageHelper是针对Mybaits的分页插件,支持任何复杂的单表.多表分页. 二.基本用法 以springboot为例,有两种方式配置,一种是传统的,引入依赖,编写配置类:一种是使 ...
- 使用Github Packages功能上传nuget包到Github
前几天微软收购npm的新闻对于软粉来收很是振奋.微软收购npm很可能是为了加强Github Packages.目前Github,Typescript,VSCode,npm这些开源社区的重磅工具全部都在 ...
- 036.集群网络-K8S网络模型及Linux基础网络
一 Kubernetes网络模型概述 1.1 Kubernetes网络模型 Kubernetes网络模型设计的一个基础原则是:每个Pod都拥有一个独立的IP地址,并假定所有Pod都在一个可以直接连通的 ...