C#学习笔记三字符串相关操作
字符串
字符串可以当做字符数组处理,但是只能读,不能用数组的形式修改其中一位。
如果非要修改,则必须用s.ToCharArray()方法得到字符串的字符数组。
namespace 字符串中字符修改
{
class Program
{
static void Main(string[] args)
{
string s1 = "hello";
char[] s2 = s1.ToCharArray();//将字符串转成字符数组以进行字符的修改
s2[2] = 'y';
string s3 = new string(s2);//调用构造函数new string (char[] s)将字符数组生成回字符串
Console.WriteLine(s3);
Console.ReadKey();
}
}
}
S1只是变量。变量可以指向不同的字符串,但是字符串本身不可改变。
string s1 = "hello";
string s10 = s1;//s10只是指向s1指向的字符串“hello”,哪怕以后s1指向了别的字符串,s10仍然指着"hello"。
String类常用函数
◎ ToLower():得到字符串的小写形式
◎ ToUpper():得到字符串的大写形式
◎ Trim():去掉字符串两端的空白
◎ S1.Equals(s2,StringComparison.OrdinalIgnoreCase):两个字符串进行不区分大小写的比较
字符串分割:
◎ String[] Split(params char[] separator):将字符串按照指定的分割符分割为字符串数组
◎ String[] Split(char[] separator,StringSplitOptions options):将字符串按照指定的char分割符分割为字符串数组
◎ String[] Split(string[] separator, StringSplitOptions options):将字符串按照指定的string分割符分割为字符串数组
namespace 字符串分割
{
class Program
{
static void Main(string[] args)
{
string str = "abc,aaa,,act,sle|esd";
string[] strs = str.Split(',','|');//参数可变
foreach (string item in strs)
{
Console.WriteLine(item);
}
string str1 = "abc,aaa,,act,sle|esd";
string[] strs1 = str.Split(new char[] {',', '|'},StringSplitOptions.RemoveEmptyEntries);//第二个参数的意思是移除为空的字符串
foreach (string item in strs1)
{
Console.WriteLine(item);
}
string str2 = "我是小猫我是小狗我是小鸡我是小鸭";
string[] strs2 = str2.Split(new string[] { "我是" }, StringSplitOptions.RemoveEmptyEntries);
foreach (string item in strs2)
{
Console.WriteLine(item);
}
Console.ReadKey();
}
}
}
字符串的其他应用
namespace 字符串替换
{
class Program
{
static void Main(string[] args)
{
string str1 = "李时珍是一个好医师,李时珍是一个好榜样,李时珍是一个好人";
string str2 = str1.Replace("李时珍", "李素丽");
Console.WriteLine(str2);
Console.ReadKey();
}
}
}
namespace 字符串子串
{
class Program
{
static void Main(string[] args)
{
string str1 = "I am a boy";
string str2 = str1.Substring(3,5);//从str1[3]开始,截取5位,存到str2中
Console.WriteLine(str2);
Console.ReadKey();
}
}
}
namespace 字符串包含
{
class Program
{
static void Main(string[] args)
{
string str1 = "我们的社会真和谐啊!";
if (str1.Contains("和谐"))
{
Console.WriteLine("包含敏感词汇,禁止发帖");
}
Console.ReadKey();
}
}
}
namespace 字符串StartWith
{
class Program
{
static void Main(string[] args)
{
string s = "http://www.baidu.com";
if (s.StartsWith("http://") || s.StartsWith("httpStyleUriParser://"))
{
Console.WriteLine("是网址");
}
else
{
Console.WriteLine("不是网址");
}
Console.ReadKey();
}
}
}
namespace 字符串IndexOf
{
class Program
{
static void Main(string[] args)
{
string s = "你好呀,我是小明!";
int i = s.IndexOf("我是");//返回第一个字符第一次出现的位置。如果不存在,则返回一个负数
Console.WriteLine(i);
Console.ReadKey();
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?