程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> 理解VC# 2005中的字符串和正規表達式

理解VC# 2005中的字符串和正規表達式

編輯:C#基礎知識

  不管創建什麼類型的應用程序,你都需要使用字符串。無論數據如何存儲,終端用戶總要與可讀的文本打交道。因此,了解如何使用字符串是任何.NET開發者創建豐富的應用程序所需要學習的必要知識。除了向你展示在.NET框架中字符串的使用外,本文還將向你介紹正規表達式的知識。

  除了向你展示如何使用.NET框架中的字符串外,本文還將向你介紹正規表達式。正規表達式是格式代碼,不僅允許你驗證一個特定字符串匹配一個給定的格式,而且你還可以使用正規表達式來從任何其它可能被認為是自由格式的文本中提取有意義的信息,例如從用戶輸入中提取第一個名字,或從一個數字輸入中提取代碼,或從一個URL中提取服務器名。

  一、 使用字符串

  使用字符串是創建高質量應用程序的一個必要的技巧。即使你在處理數字或圖像數據,終端用戶也需要上下文反饋。本文將向你介紹.NET字符串,如何格式它們,操作它們和比較它們,及其它有用的操作。

  (一) .NET字符串簡介

  在.NET框架和通用語言運行時刻(CLR)以前,開發者總是花費大量時間處理字符串。一個字符串例程可重用庫幾乎是每一個C和C++程序員的工具箱中的一部分。編寫在不同程序語言之間交換字符串數據的代碼也是相當困難的。例如,Pascal把字符串存儲為一個內存字符數組,其中,該數組的第一個元素指示字符串的長度;而C把字符串存儲為一個具有可變長度的字符內存數組,字符串的末端加上一個ASCII null字符(在C中以""表示)。

  在.NET框架中,字符串以常量方式存儲。這意味著,當你用C#(或任何其它.NET語言)創建一個字符串時,該字符串以一種固定大小存儲在內存以便CLR運行更快些。結果是,當你實現例如連接字符串或修改一個字符串中的單個字符時,CLR實際上是創建你的字符串的多個副本。

  C#中的字符串與其它值類型例如整數或浮點數聲明方式相同,見下面的例子:

string x = "Hello World";
string y;
string z = x;

  (二) 格式化字符串

  當使用字符串時最常見的一項任務是格式化字符串。當向用戶顯示信息時,你經常顯示如日期,時間,數字值,十進制值,貨幣值,甚至象十六進制數字這樣的內容。C#字符串都能夠顯示這些類型的信息,甚至更多。另外一個強有力的特征是,當你使用該標准格式化工具時,該格式化的輸出具有地區感知特征。例如,如果你以短格式顯示一個英格蘭用戶的當前日期,那麼對於一個美國用戶來說,當前日期的短格式將以不同形式顯示。

  為了創建一個格式化的字符串,你僅需要調用string類的Format方法,並且傳遞給它一個格式字符串,如下列代碼所顯示的:

string formatted = string.Format("The value is {0}", value);

  在此,{0}占位符指示一個值應該被插入的位置。除了指定一個值應該被插入的位置外,你還可以指定該值的格式。

  其它數據類型還支持經由定制格式修飾符轉換成字符串,例如,DateTime數據類型,通過使用如下方式,它能夠產生一種定制格式的輸出:

DateTime.ToString("format specifiers");

  表格1列舉了用於格式化日期,時間,數字值等數據的一些最常用的格式字符串。

  表格1.定制DateTime格式修飾符

修飾符 描述 d 顯示某月中的這一天。 dd 顯示某月中的這一天,其中,小於10的值之前加上一個0。 ddd 顯示一個星期中某一天的三字母縮寫名。 dddd(+) 顯示給定的DateTime值中星期中的一天的完整名。 f(+) 顯示秒值的最重要的x位數。在f中格式修飾符位數越多,該數字越重要。這是個總秒數,而不是從上個分鐘以來經過的秒數。 F(+) 與f(+)相同,除了不顯示末尾的零外。 g 顯示一個給定的DateTime中的時代,例如,"A.D"。 h 顯示小時,范圍為:1~12。 hh 顯示小時,范圍為:1~12,其中,小於10的值之前加上一個0。 H 顯示小時范圍為:0~23。 HH 顯示小時范圍為:0~23,其中,小於10的值之前加上一個0。 m 顯示分鐘,范圍為0~59。 mm 顯示分鐘,范圍為0~59,其中,小於10的值之前加上一個0。 M 顯示月份,范圍為1~12。 MM 顯示月份,范圍為1~12,其中,小於10的值之前加上一個0。 MMM 顯示月份的三字符縮略名。 MMMM 顯示月份的完整名字。 s 顯示秒數范圍為:0~59。 ss(+) 顯示秒數范圍為:0~59,其中,小於10的值之前加上一個0。 t 顯示給定的時間中AM/PM指示器中的第一個字符。 tt(+) 顯示給定的時間中完整的AM/PM指示器。 y/yy/yyyy 顯示給定的時間中的年份。 z/zz/zzz(+) 顯示給定的時間中的時區偏移量。

  讓我們觀察下列代碼,它展示使用字符串格式修飾符創建定制格式的日期和時間字符串:

  • 首頁
  • 上一頁
  • 1
  • 2
  • 3
  • 下一頁
  • 尾頁
  • 共3頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved