1. 程式人生 > >C#中String的常用方法

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

pythonOS常用方法

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 信息   今天就平常用到的非常多的反射這個技術來做一個總結,當然關於反射需要講解的東西實在是太多的內容,在一片文章中想要講解清楚是非常難的,本篇博客也是就自己本人對這些內容學習後的一個總結,當然包括看書