C#中String的常用方法
[特點]
1.可以看作是一個只讀的char陣列
2.不可變性,即字串中的字元內容不能改,,當重新給改變數賦值時,知識變數的指向改變了,但可以讀。如果我 想”改變“字串中字元的內容,怎麼辦那?(實際上原字串的內容沒有改變)
解決方案:利用char陣列進行修改
1>把字串變成字元陣列,toCharArray()2>對字元陣列進行修改
3>把字元陣列變成字串,new string
舉例:
string text = "我又漂亮了"; char[] chs = text.ToCharArray(); chs[1]='很'; text=new string(chs); Console.WriteLine(text); Console.ReadKey();
[有關字串的操作]
字串的方法分為靜態方法和非靜態方法,當方法是靜態方法時,方法前應加String,即格式為String.方法名(7,8都是靜態方法)
1.Upper,Lower,Equals的用法
Upper:將字母轉化為大寫
Lower:將字母轉化為小寫
Equals:忽略字母的大小寫
<span style="font-size:18px;">Console.WriteLine("請輸入字串"); string str1 = Console.ReadLine(); str1 = str1.ToUpper(); Console.WriteLine("請輸入字串"); string str2 = Console.ReadLine(); str2 = str2.ToUpper(); //轉化成大寫</span> bool result = str1.Equals(str2, StringComparison.OrdinalIgnoreCase); if (result) { Console.WriteLine("輸入意思相同"); } else { Console.WriteLine("輸入意思不同"); } Console.ReadKey();</span>
2.Split:分割字串
Replace:替換某個字串
Countain:判斷某字串中是否包含某字串
<span style="font-size:18px;">string text = "好好玩耍,天天快樂"; bool result = text.Contains("好好玩耍"); if (result) { string[] str = text.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (str[0].Contains("好好玩耍")) { str[0].Replace("玩耍", "學習"); } Console.WriteLine("{0},{1}", str[0], str[1]); } else { Console.WriteLine(text); } Console.ReadKey();</span>
3.StartWith、EndWith的用法
判斷某個字串是否以某個字串開始(startwith)或以某個字串結束(endwith)
<span style="font-size:18px;">string text = "天氣真清新"; bool result = text.EndsWith("清新"); if (result) { Console.WriteLine("是的"); } else { Console.WriteLine("不是"); } Console.ReadKey();</span>
4.indexof 的用法:判斷某個字元在字串中的索引,可以從同開始找,也可以從某個索引開始找,如果沒有該字元, 則返回-1,有則返回該字元在該字串中的索引
查詢該字元的最後一個索引,用LastIdexOf
int index = path.IndexOf("練習", 25);
5.substring的用法:擷取字串中的一段字元
string path = @"C:\Users\SHUANG\Desktop\練習.txt"; int order = path.LastIndexOf("\\"); string name = path.Substring(order + 1); Console.WriteLine("檔名為:{0}", name); Console.ReadKey();
6.insert的用法:在字串的某個索引前插入值
string text = "我是一名學生"; text = text.Insert(4, "好"); Console.WriteLine(text); Console.ReadKey();
執行結果為:我是一名好學生
7.strign,join的用法
<span style="font-size:18px;">string[] text = { "火龍果", "香蕉", "蘋果", "芒果" }; Console.WriteLine(string.Join("|", text)); Console.ReadKey()</span>;
執行結果為:火龍果|香蕉|蘋果|芒果
insert與join的區別:join是在字串陣列的前提下操作的,在每個陣列元素中間插入內容,而inset是對字串操 作, 在某個索引前插入內容;
8.string.IsNullOrEmpty() 的用法:判斷該字串是否為空後NULL
<span style="font-size:18px;">string text = null; bool result = string.IsNullOrEmpty(text); if (result) { Console.WriteLine("沒資訊"); } else { Console.WriteLine("有資訊"); } Console.ReadKey();</span>
NULL與" "空字串的區別:
NULL:不分配記憶體,無物件
“ ”:分配記憶體空間,有物件
9.Trim的用法
Trim是去掉字串兩端的空格
TrimEnd是去掉字串最後面的空格
TrimStart是去掉字串最前面的空格
string text = " 好天氣 "; text = text.Trim();
10.Format 的用法
<span style="font-size:18px;">Console.WriteLine(string.Format("{0:0.00}", 352435.345435));</span>
執行結構為:352435.35
Format的用法還有待研究:這是我發現寫的不錯的一篇有關Format使用方法的介紹:
11.File.Read的用法:讀取某檔案的內容<span style="font-size:18px;">string path = @"C:\Users\SHUANG\Desktop\練習.txt"; string[]text=File.ReadAllLines(path,Encoding.Default); for (int i = 0; i < text.Length; i++) { string[] str = text[i].Split(new char[] { ' '}, StringSplitOptions.RemoveEmptyEntries); Console.WriteLine(str[0].Length > 8 ? (str[0].Substring(0, 8) + "...|" + str[1]) : (str[0] + "|" + str[1])); } Console.ReadKey();</span>
[注意]
可以發現上面所有的方法都不可避免的會宣告string字串變數,在大資料下或對一個string變數不斷更改時,最好不用string型別,為什麼?
String的工作原理:一旦被運算,就會產生一個例項,在.NET中,在修改字串時,會把兩個字串寫入內容中,然後刪除先前的是string物件,然後重新宣告一個string物件,然後從記憶體中讀取字串,再賦給string變數
StringBuild的工作原理:在C#中的System.Text中,是在原來的string物件上直接修改字串
相比之下:在面對大資料時,用StringBuild會比用String節省很多時間
相關推薦
C# 中String.Join()方法
今天在工作中看到了組裡一個大佬寫的程式碼,感觸頗多,同樣實現一個需求,我寫迴圈費了老大勁,程式碼又臭又長,大佬的程式碼簡潔明瞭,三行搞定。。。不得不說,今天賺大了 簡單總結一下今天賺到的知識 string裡邊的Join()方法 &nb
C++中string常用函式及用法總結
標準c++中string類函式介紹 注意不是CString 之所以拋棄char*的字串而選用C++標準程式庫中的string類,是因為他和前者比較起來,不必 擔心記憶體是否足夠、字串長度等等,而且作為一個類出現,他整合的操作函式足以完成我們大多數情況下(甚至是1
C#中String.Trim方法
本文參考https://msdn.microsoft.com/zh-cn/library/system.string.trim(v=vs.110).aspx String.Trim方法 字串操作函式,返回一個新的字串,從String 物件中移除了一組指定字元的 所有前導匹
C#中String的常用方法
[特點] 1.可以看作是一個只讀的char陣列 2.不可變性,即字串中的字元內容不能改,,當重新給改變數賦值時,知識變數的指向改變了,但可以讀。如果我 想”改變“字串中字元的內容,怎麼辦那?
C#中string型別的常用方法總結
在C#語言中,字串是System.String類的一個引用型別,但與其他引用型別不同的是,C#將字串視為一個基本型別,它可以申請為一個常量,也可以直接給它賦值。由於C#中的字串是由System.String類派生而來的引用物件,因此可以使用String類的方法來
String類中的常用方法
lsi har 數據類型 string類型 value center abcd 截取字符串 abcde String類 一.轉換成String方法 1.public String(); 空參構造 初始化一個新創建的 String 對象,使其表示一個空字符序列 2.publi
String常用方法有哪些?在工作中使用過哪些?
length():求字串的長度 indexOf():求某個字元在字串中的位置 charAt():求一個字串中某個位置的值 equals():比較兩個字串是否相同 replace():將字串中的某些字元用別的字元替換掉。形如replace(“abc”,”ddd”);字串中的
VS程式設計,C#中string字串過長,回車換行寫在不同的行的一種方法。
1、使用@對字串進行轉義。 “”雙引號裡裡面的特殊字元不再具有轉義功能,例如\n不再被轉義成換行符。 2、使用@對字串進行轉義,若字串中包含雙引號,則需要在雙引號外,再加一個雙引號以區分。 例如: string sqlString =
C++中string substr函式的使用方法
substr函式的形式為s.substr(pos, n), 需要兩個引數,第一個是開始位置,第二個是獲取子串的長度。 函式可以從一個字串中獲取子串,返回一個string,包含s中從pos開始的n個字元的拷貝(pos的預設值是0,n的預設值是s.size() -
c#中的常用ToString()方法總結
對於int,double等的tostring: C 貨幣 2.5.ToString("C") ¥2.50
C++中string型別insert方法用法集錦
C++方法的用法真的太多了,一個insert方法用法就多達8種,一不留神就用錯來了,很神傷。// inserting into a string #include <iostream> #i
js 中string 常見方法
strong 指定 log match nds last 如果 comment 出現 1.charAt 返回指定索引出的字符 var str=‘abcd‘; var a=str.charAt(0); console.log(a); //‘a‘ conso
js字符串String常用方法
正則 concat 指定位置 tin 表示 uic dea earch cat 1. charAt() 返回指定位置的字符。 str.charAt(index) index 為必須參數,類型為number(0到str.length-1之間,否則該
String常用方法
exp 常用 char -h 查看 school cond 分享 根據 1.length 查看字符串的長度 2.indexOf()查看對應字符的索引值 3.lastIndexOf() 從後面開始查找,返回索引值 4.search() 查看包含字符的索引值 eq
python中OS常用方法
posix one 獲得 常用 chdir mac 絕對路徑 itext 文件大小 Python的標準庫中的os模塊包含普遍的操作系統功能。如果你希望你的程序能夠與平臺無關的話,這個模塊是尤為重要的。即它允許一個程序在編寫後不需要任何改動,也不會發生任何問題,就可以在Lin
C++中string.find()函數與string::npos理解
mcs find tor mar tac auc bds rem weibo 墳fgAIY73怨SI攘狄http://shufang.docin.com/qrk5483 萄7NZA8y虜渦歡7http://huiyi.docin.com/sina_6264009306
C#中的匿名方法實例解析
鏈接 而在 說明 程序設計 renren thum ont 好處 pre 本文較為詳細的講述了C#中的匿名方法,並附上實例加以說明。現將其分享給大家供大家參考之用。具體分析如下: 首先,C#中的匿名方法是在C#2.0引入的,它終結了C#2.0之前版本聲明委托的唯一方法是使
原生js中的常用方法的寫法
sar number charat [] typeof += eat fat array對象 1、js深度克隆的方法 //第一種 function deepClone(obj){ var str,newObj = obj i
java String 常用方法集合
長度 包含 ace contains 判斷 pareto [] div 是否 String a = "abc";String b = "abc";a==b ;//返回true,因為a,b指向的是同一個地址 String a = new String("abc");Strin
C# 中那些常用的工具類(Utility Class)(三)
asp call ast eba order com 引用 creat 信息 今天就平常用到的非常多的反射這個技術來做一個總結,當然關於反射需要講解的東西實在是太多的內容,在一片文章中想要講解清楚是非常難的,本篇博客也是就自己本人對這些內容學習後的一個總結,當然包括看書