量子计算uCJ模型:分子电子结构计算新突破
2026/5/23 23:35:05
IndexOf()- 查找字符位置csharp
string str = "abcdefgabc"; Console.WriteLine(str.IndexOf("a")); // 0(首次出现位置) Console.WriteLine(str.IndexOf("h")); // -1(未找到) Console.WriteLine(str.IndexOf("bc")); // 1(子串位置) Console.WriteLine(str.IndexOf("f", 4)); // 5(从索引4开始找)Contains()- 检查是否包含csharp
Console.WriteLine(str.Contains("fg")); // True Console.WriteLine(str.Contains("he")); // FalseToUpper()/ToLower()- 大小写转换csharp
Console.WriteLine("Hello".ToUpper()); // HELLO Console.WriteLine("HELLO".ToLower()); // helloStartsWith()/EndsWith()- 检查开头结尾csharp
string str2 = "张三大师傅"; Console.WriteLine(str2.StartsWith("张三")); // True Console.WriteLine(str2.EndsWith("师傅")); // TrueIsNullOrEmpty()- 空值检查csharp
string str3 = ""; Console.WriteLine(string.IsNullOrEmpty(str3)); // True str3 = null; Console.WriteLine(string.IsNullOrEmpty(str3)); // True str3 = " "; Console.WriteLine(string.IsNullOrEmpty(str3)); // False(有空格) // 建议用:IsNullOrWhiteSpace()
Equals()- 字符串比较csharp
Console.WriteLine("abc".Equals("abc")); // True Console.WriteLine(string.Equals("ABC", "abc")); // False(区分大小写) Console.WriteLine(string.Equals("ABC", "abc", StringComparison.OrdinalIgnoreCase)); // TrueSubstring()- 截取字符串csharp
Console.WriteLine("张三大师傅".Substring(1, 3)); // 三大师 Console.WriteLine("Hello".Substring(2)); // llo(从索引2到最后)Split()- 分割字符串csharp
string str4 = "2025/12/10"; string[] ss = str4.Split('/'); Console.WriteLine(ss[0]); // 2025 Console.WriteLine(ss[1]); // 12 Console.WriteLine(ss[2]); // 10Remove()- 删除字符csharp
Console.WriteLine("2025/12/10".Remove(1, 4)); // 2/12/10 Console.WriteLine("2025/12/10".Remove(3)); // 202(只保留前3个)Concat()- 拼接字符串csharp
Console.WriteLine(string.Concat("张三", "李四", "王五")); // 张三李四王五Replace()- 替换字符csharp
Console.WriteLine("2025/12/10".Replace("2025", "2026")); // 2026/12/10 Console.WriteLine("a b c".Replace(" ", "")); // abcLastIndexOf()- 从后往前找csharp
Console.WriteLine("abcdefgabc".LastIndexOf("a")); // 7(最后出现的a)Join()- 连接字符串数组csharp
Console.WriteLine(string.Join("-", "a", "b", "c")); // a-b-c string[] arr = { "苹果", "香蕉", "橙子" }; Console.WriteLine(string.Join("、", arr)); // 苹果、香蕉、橙子CopyTo()- 复制到字符数组csharp
char[] cl = new char[15]; "2025/12/10".CopyTo(1, cl, 5, 6); // 结果:cl[5..10] = "025/12"
Format()- 字符串格式化csharp
string name = "张三"; double gz = 10000; Console.WriteLine(string.Format("姓名:{0}; 工资:{1}", name, gz)); Console.WriteLine(string.Format("{0:C2}", gz)); // ¥10,000.00(货币格式) Console.WriteLine(string.Format("{0:F2}", 3.14159)); // 3.14(保留2位小数)ToCharArray()- 转为字符数组csharp
char[] chars = "Hello".ToCharArray(); foreach (char c in chars) { Console.Write(c + "-"); // H-e-l-l-o- }| 方法 | 用途 | 返回值 |
|---|---|---|
IndexOf() | 查找字符/子串首次出现位置 | 索引值(-1为未找到) |
LastIndexOf() | 从后往前查找 | 索引值 |
Contains() | 检查是否包含 | bool |
| 方法 | 用途 | 示例 |
|---|---|---|
ToUpper() | 转大写 | "abc"→"ABC" |
ToLower() | 转小写 | "ABC"→"abc" |
ToCharArray() | 转字符数组 | "Hi"→['H','i'] |
| 方法 | 用途 | 示例 |
|---|---|---|
Substring() | 截取子串 | "Hello".Substring(1,3)→"ell" |
Split() | 分割字符串 | "a,b,c".Split(',')→["a","b","c"] |
Remove() | 删除部分字符 | "Hello".Remove(1,3)→"Ho" |
| 方法 | 用途 | 示例 |
|---|---|---|
Concat() | 连接多个字符串 | Concat("a","b")→"ab" |
Join() | 用分隔符连接数组 | Join("-",["a","b"])→"a-b" |
Replace() | 替换字符/子串 | "abc".Replace("b","x")→"axc" |
| 方法 | 用途 | 示例 |
|---|---|---|
StartsWith() | 是否以...开头 | "Hello".StartsWith("He")→true |
EndsWith() | 是否以...结尾 | "Hello".EndsWith("lo")→true |
Equals() | 比较是否相等 | "a".Equals("A")→false |
IsNullOrEmpty() | 检查空或null | IsNullOrEmpty("")→true |
| 方法 | 用途 | 示例 |
|---|---|---|
Format() | 格式化字符串 | Format("{0:C}",100)→"¥100.00" |
csharp
// 1. 查找位置 int pos = str.IndexOf("查找内容"); // 2. 检查包含 bool has = str.Contains("内容"); // 3. 大小写转换 string upper = str.ToUpper(); string lower = str.ToLower(); // 4. 检查开头结尾 bool starts = str.StartsWith("开头"); bool ends = str.EndsWith("结尾"); // 5. 空值检查 bool isEmpty = string.IsNullOrEmpty(str); bool isBlank = string.IsNullOrWhiteSpace(str); // 6. 字符串比较 bool equal = str1.Equals(str2); bool equalIgnoreCase = string.Equals(str1, str2, StringComparison.OrdinalIgnoreCase); // 7. 截取子串 string sub = str.Substring(开始位置, 长度); // 8. 分割字符串 string[] parts = str.Split(分隔符); // 9. 删除字符 string removed = str.Remove(开始位置, 删除长度); // 10. 拼接字符串 string combined = string.Concat(str1, str2, str3); // 11. 替换内容 string replaced = str.Replace("旧", "新");IsNullOrEmpty()vsIsNullOrWhiteSpace()
IsNullOrEmpty(" ")→False(有空格)
IsNullOrWhiteSpace(" ")→True(更好的选择)
字符串比较
==运算符:对于字符串比较内容
Equals()方法:更明确,可以指定比较规则
Substring()索引从0开始
csharp
"Hello".Substring(1, 3) // "ell"(索引1开始,取3个)
大量字符串拼接使用StringBuilder
频繁查找使用Contains()比IndexOf() > -1更语义化
字符串比较考虑使用Ordinal或OrdinalIgnoreCase提高性能
text
🔍 找位置:IndexOf, LastIndexOf ✅ 查包含:Contains, StartsWith, EndsWith 🔄 改格式:ToUpper, ToLower ✂️ 切分片:Substring, Split, Remove 🔗 连起来:Concat, Join, Replace 📊 比一比:Equals, Compare ⚠️ 检空值:IsNullOrEmpty, IsNullOrWhiteSpace
记住这些方法,就能应对90%的字符串操作需求! 🎯