強大的swift字串,強大swift字串

來源:互聯網
上載者:User

強大的swift字串,強大swift字串

  Swift集百家之長,吸收了主流語言java,c,c++等的好的特性,所以它功能十分強大,今天我們就來看看它強大的字串。

 

 首先,我們帶著這樣幾個問題去瞭解、理解swift的字串。

1、swift字串怎麼初始化的?

2、swift字串長度可變嗎?

3、swift字串是指標,還是實際的值?

4、swift有哪些特性?

 

下面,我來一一解答這些問題。

(1) swift 字串的初始化有2種方式,這兩種方式的結果都是一樣的。我們來初始化一個Null 字元串。

  

  

  var str1 = ""    //  第一種方式

  

  var str2 = String()   //     第二種方式

當初始化一個非Null 字元串時,可以這樣   var str3 = "hello word",這裡要說明的是,“”裡的值可以是任意符號,數字,文字,字母....

 

 

(2) swift字串長度是可變的,當然這隻針對於用var 定義的字串,用let定義的字串常量是不可變的。正因為這個特性,它可以和其他字元,字串通過符號“ = ”、“ += ”組合成新的字串。

  

  var str1 = "hello"  

  var str2 = "world"

  var str3:Character = "!"  //這是定義字元的方式

  

  

  var strs1 = str1 + str2     //結果為“hello word”

  

  var strs2 = strs1 + str3  //結果為“hello word!”

 

(3)swift字串 是實際的值,不是指標。當把字串變數賦值給另一個值,它原來的值不變。當把字串變數當作參數傳遞時,它也是一個實際的值。

  

  var str1 = "你好"

  

  var str2 =  str1

這時,str1的值還是“你好”,由此可見,它不是指標,是一個實際的值。

(4)swift字串有哪些特性?它的比較機制,驗證機制,遍曆機制,轉換機制,組合機制,都是它的特性。

    a、比較機制。字串之間的比較是可以分多樣的。

           它比較完全相等時,用“==”來串連;

         它比較首碼相等時,給定一個字串首碼,然後用要比的字串,調用hasPrefix方法,參數為給定的首碼;

         它比較尾碼相等時,給定一個字串尾碼,然後用要比的字串,調用hasSuffix方法,參數為給定的尾碼。

 

      舉個例子,我們學校在開興趣班,要統計各個興趣班的人數有多少?用這個就可以很容易的找出來。

 

      let students =["ios,謝明,s3sj101","android,胡軍,s3jn95","ios,都美君,s3jn95","支援人員,高小龍,s3jn92","資料庫,阿斯,s3jn92","資料庫,封劍,s3j101"]

  

      要統計出 各個興趣班的人數,只需這樣做:

      var ios = 0  //定義ios班的人數

      var android = 0   //定義android班的人數

      var technical = 0  //定義支援人員班的人數

      var database = 0  // 定義資料庫班的人數

 

       for student in students  {

        

        if student.hasPrefix("ios") {

             ios++

        }

 

        if student.hasPrefix("android") {

           android++

        }

 

        if student.hasPrefix("支援人員") {

           technica++

        }

 

        if student.hasPrefix("資料庫") {

           database++

        }

     }

      

print(“報ios班的人數\(ios)”)

print(“報android班的人數\(android)”)

print(“報支援人員班的人數\(technica)”)

print(“報資料庫班的人數\(database)”)

 

如果我們要統計各個原班有多少人,可以這樣做:

 

      let students =["ios,謝明,s3sj101","android,胡軍,s3jn95","ios,都美君,s3jn95","支援人員,高小龍,s3jn92","資料庫,阿斯,s3jn92","資料庫,封劍,s3j101"]

  

     

      var s3sj95 = 0  //定義s3sj95班的人數

      var s3jn92 = 0   //定義s3jn92班的人數

      var s3j101 = 0  //定義s3j101班的人數

  

 

       for student in students  {

        

        if student.hasSuffix("s3sj95") {

             s3sj95++

        }

 

        if student.hasSuffix("s3jn92") {

           s3jn92++

        }

 

        if student.hasSuffix("s3j101") {

           s3j101++

        }

     }

      

print(“s3sj95班的人數\(s3sj95)”)

print(“s3jn92班的人數\(s3jn92)”)

print(“s3j101班的人數\(s3j101)”)

 

  b:驗證機制。判斷一個字串是不是為空白,我們可以用isEmpty屬性擷取

 

    var  str = " "

 

     if str.isEmpty {

       print("str是Null 字元串")

     }else{

      print("str是非Null 字元串")

    }

 

    執行結果為:str是Null 字元串

 

  c:遍曆機制。我們知道,字串是有字元組成,swift可以遍曆字串中的每個字元。

  

    var str = "helloWord"

 

    for char in sre {

      print("\(char)")

    }

  

  執行結果會把每個字元遍曆出來。

 

  d:轉換機制。它還支援字串的大小寫轉換。通過uppercaseString和lowercaseString屬性可以做到,我們來看看:

 

  var  str = "helloWord"

  

  var  upper = " "  // 定義一個存放轉化為大寫後的變數

  var lower = " "   //// 定義一個存放轉化為小寫後的變數

  

  upper = str.uppercaseString

  lower = str.lowercaseString

  

  然後分別輸出就行了 ,很簡單吧。。。

  

  

  e:組合機制.組合機制是它很大的一個亮點,它的長度是可變的,因此也是可以組合的。這給我們的開發帶來很大的遍曆,是我們開發人員的福音哦。

  

  這裡就不舉例了,他們之間可以通過“+”、“+=”、也可以通過一個合法的運算式產生新的字串。最後,它還可以計算字串的總長度,

  需要用到的方法是:countElements。參數為要計算的字串本身。

 

  

 好了,今天的分享就到這。希望可以幫到剛剛學習ios或者想要學ios的朋友們,我也是新手,有不足和不對的地方求大神指正。讓我們一同進步!大家可以關注我的微博http://www.cnblogs.com/lb0129/

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.