網站首頁 編程語言 正文
1.創建字符串
string 變量名 = "字符串內容";
???????????string str = "abcdrf";
? ? ? ? ? ? Console.WriteLine(str);
2.獲取字符串的長度
變量名.Length
相當于調用了一個計算長度的方法
string str = "abcdrf";
Console.WriteLine(str);
int len = str.Length;
Console.WriteLine(len);
3.比較字符串是否一樣可以直接使用 == 進行比較
4.字符串進行連接是用 + 進行連接,注意如果是字符型的數字,這里的 + 就是進行的連接,而不是加法
5.可以將字符串看做成數組,那么想要獲取對應位置的字符,可以用 字符串名字[字符串的序號]
6.字符串是不可變的量,對字符串只能有添加不能修改和刪除
字符串拼接的原理?
7.字符串的常用方法?
1.CompareTo)方法,比較字符串的內容
2.Replace()用另一個字符或者字符串替換字符串中給定的字符或者字符串
3.Split(在出現給定字符的地方,把字符串拆分稱一個字符串數組
4.SubString0在字符串中檢索給定位置的子字符串
5.ToLower(把字符串轉換成小寫形式
6.ToUpper(把字符串轉換成大寫形式
7.?Trim刪除首尾的空白
8.Concat(方法,合并字符串
9.CopyTo(方法,把字符串中指定的字符復制到一個數組中
10.Format()方法,格式化字符串
11.IndexOf(方法,取得字符串第一次出現某個給定字符串或者字符的位置
12.IndexOfAny0方法,
13.Insert()把一個字符串實例插入到另一個字符串實例的制定索引處
14.Join()合并字符串數組,創建一個新字符串
//1.CompareTo()方法,比較字符串的內容
string b = "123";
int flag = 0;
flag = str.CompareTo(b);
Console.WriteLine(flag); //不相同返回1
string c = "ab cd rf";
flag = str.CompareTo(c);
Console.WriteLine(flag);//相同返回0
Console.WriteLine("------------------------------------");
//2.Replace()用另一個字符或者字符串替換字符串中給定的字符或者字符串
str = str.Replace("a", "b");
Console.WriteLine(str);
Console.WriteLine("------------------------------------");
//3.Split()在出現給定字符的地方,把字符串拆分稱一個字符串數組
string[] sArray = str.Split(',');
foreach (string i in sArray)
Console.WriteLine(i.ToString());
Console.WriteLine("------------------------------------");
//4.SubString()在字符串中檢索給定位置的子字符串,相當于保留的是該索引往后的字符串
Console.WriteLine(str.Substring(10));
Console.WriteLine("-------------------------------------");
//5.ToLower()把字符串轉換成小寫形式
Console.WriteLine(str.ToLower());
Console.WriteLine("--------------------------------------");
//6.ToUpper(把字符串轉換成大寫形式
Console.WriteLine(str.ToUpper());
Console.WriteLine("--------------------------------------");
//7. Trim()刪除首尾的空白
Console.WriteLine(str.Trim());
Console.WriteLine("--------------------------------------");
//8.Concat()方法,合并字符串
string con = string.Concat("123", "abc", 1233);
Console.WriteLine(con);
Console.WriteLine("---------------------------------------");
//9.CopyTo()方法,把字符串中指定的字符復制到一個數組中
char[] arr = { 'I', 'n', 'c', 'l', 'u', 'd', 'H', 'e', 'l', 'p' };
str.CopyTo(1, arr, 0, 6);
foreach(char i in arr)
{
Console.Write(i);
}
Console.WriteLine();
Console.WriteLine("---------------------------------------");
//10.Format()方法,格式化字符串
Console.WriteLine("{0}+{1}", 1, 2);
Console.WriteLine("{0:c}", 1);
Console.WriteLine(string.Format("{0}+{1}", 1, 2));
Console.WriteLine(string.Format("{0:c}", 1));//結論string.Format可以省略
Console.WriteLine("---------------------------------------");
//11.IndexOf()方法,取得字符串第一次出現某個給定字符串或者字符的位置
Console.WriteLine(str);
Console.WriteLine(str.IndexOf('b'));
Console.WriteLine(str.IndexOf('a'));//如果沒有找到就返回-1
Console.WriteLine("----------------------------------------");
//12.IndexOfAny()方法
char[] cd = { 'c','b'};
Console.WriteLine(str.IndexOfAny(cd));//該方法是只要數組里面有一個元素在字符串
里面就能返回對應的值,當兩個都在的時候就返回最小的那個
Console.WriteLine("-----------------------------------------");
//13.Insert()把一個字符串實例插入到另一個字符串實例的制定索引處
Console.WriteLine(str.Insert(3, "1234564879"));
Console.WriteLine("------------------------------------------");
//14.Join()合并字符串數組,創建一個新字符串
char[] vs = { 'q', 'w', 'r', 'e' };
Console.WriteLine(string.Join("",vs));
4.StringBuilder類
三種不同的初始化方式
StringBuilder sb = new StringBuilder("123456");
//增加
sb.Append("abc");
Console.WriteLine(sb);
//插入,是在索引的前面插入
sb.Insert(3, "g");
Console.WriteLine(sb);
//移除,第一個是要移除的位置,第二個變量是要移除多少個
sb.Remove(3,5);
Console.WriteLine(sb);
//替換
sb.Replace("2", " love ");
Console.WriteLine(sb);
string創建的字符串和stringbuilder創建的字符串區別不同在于,stringbuilder創建的字符串可以進行修改,可以這樣去想,string的添加字符串,其實是在靜態存儲區新開辟了一個區域來存儲,而stringbuilder是一個類似字符串數組的形式,可以進行增刪改查
5.正則表達式
什么是正則表達式
????????正則表達式是使用一種數學算法來解決計算機程序中的文本檢索,匹配等問題,正則表達式語言是一種專門用于字符串處理的語言
? ? ? ? 1.檢索:通過正則表達式,從字符串中獲取想要的部分
? ? ? ? 2.匹配:判斷給定的字符串是否符合正則表達式的過濾邏輯
正則表達式的組成
? ? ? ? 正則表達式是由普通字符以及特殊字符(元字符)組成的文字模式。該模式描述在查找文字主體時待匹配的一個或多個字符串
static void Main(string[] args)
{
string str1 = "123456f";
string str2 = "abcdef";
string str3 = "abc1def";
Console.WriteLine(Regex.IsMatch(str1, @""));//@字符讓特殊字符失效
Console.WriteLine(Regex.IsMatch(str1, @"\d"));
Console.WriteLine(Regex.IsMatch(str1, @"\d*"));
Console.WriteLine(Regex.IsMatch(str3, @"11*"));
Console.WriteLine(Regex.IsMatch(str2, @"\d"));//\d代表查詢該字符串里面是否存在一個數字,*代表有0個或多個數字
//^規定整個字符串以什么開頭
Console.WriteLine(Regex.IsMatch(str1, @"^1"));
Console.WriteLine(Regex.IsMatch(str1, @"^2"));
//$匹配結尾
Console.WriteLine(Regex.IsMatch(str1, @"f$"));
Console.WriteLine(Regex.IsMatch(str1, @"2$"));
string str4 = "456123987";
Console.WriteLine(Regex.IsMatch(str4, @"^\d*$"));
string str5 = "";
Console.WriteLine(Regex.IsMatch(str5, @"^\d$")&& Regex.IsMatch(str5, @"^\d*$"));
// \w 大小寫字母 0-9 _ 補集\W
string str6 = "4af_d55";
Console.WriteLine(Regex.IsMatch(str6, @"^\w*$"));
//[]這個里面的任意字符出現就符合條件
Console.WriteLine(Regex.IsMatch("abcdf", @"[fghj]"));
Console.WriteLine(Regex.IsMatch("abdf", @"[c-j]"));//這個可以不區分大小寫
Console.WriteLine(Regex.IsMatch("、", @"[^c-j]"));//這個時候的^就代表了除了c-j的其他元素
//是否是一個合法命名方法的正則表達式
string str7 = "8dthfjJhf";
string str8 = "dhfjahf";
Console.WriteLine(Regex.IsMatch(str7, @"^\w*$")&& Regex.IsMatch(str7, @"^[^\d]"));
Console.WriteLine(Regex.IsMatch(str8, @"^\w*$")&& Regex.IsMatch(str8, @"^[^\d]"));
Console.WriteLine(Regex.IsMatch(str8, @"^[a-zA-z_]\w*$"));
Console.WriteLine(Regex.IsMatch(str8, @"^\w*$"));
//字符串的替換 .Replace()
string str9 = "abc1d1f814u21s2i";
Console.WriteLine(Regex.Replace(str9, @"[0-9]", "*"));
//判斷位數,通過{}來限制出現的次數
string re = @"^\d{5,12}$";
Console.WriteLine(Regex.IsMatch("456",re));
Console.WriteLine(Regex.IsMatch("4e56",re));
Console.WriteLine(Regex.IsMatch("45654665645645645654", re));
Console.WriteLine(Regex.IsMatch("2802249004", re));
Console.WriteLine(Regex.IsMatch("28022494", re));
}
}
擇一匹配
將兩個匹配條件進行邏輯,“或|”運算?
Console.WriteLine(Regex.IsMatch("2", @"\d|a"));
Console.WriteLine(Regex.IsMatch("a", @"\d|a"));
Console.WriteLine(Regex.IsMatch("%", @"\d|a"));
//重復單個字符
Console.WriteLine(Regex.IsMatch("aa", @"a{2}"));
Console.WriteLine(Regex.IsMatch("aac", @"a{2}"));
Console.WriteLine(Regex.IsMatch("abab", @"ab{2}"));
Console.WriteLine(Regex.IsMatch("abab", @"(ab){2}"));//()代表進行分組
總結
原文鏈接:https://blog.csdn.net/m0_51743362/article/details/122572469
相關推薦
- 2022-06-19 解決MybatisPlus?SqlServer?OFFSET?分頁問題_MsSql
- 2023-03-16 Python?asyncio異步編程簡單實現示例_python
- 2023-01-18 python中的參數類型匹配提醒_python
- 2022-06-17 Redis實現驗證碼發送并限制每日發送次數的示例代碼_Redis
- 2022-07-01 ASP.NET中的Web控件介紹_基礎應用
- 2022-09-22 element form表單循環校驗(動態綁定的數據)
- 2022-07-06 ?ASP.NET?Core?模型驗證過濾器的兩種實現方法_實用技巧
- 2022-03-30 Android實現屏幕保持常亮功能_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支