Skip to main content

Swift Strings

String is combinations of characters. That are normally used in all programming language. String literals are define inside the double quotes.

var message="Welcome to swift string" //string literals
print("\(message)") //Welcome to swift string

String variable is define by String data type in above program we are assigning string literals to variable. And variable data type are not specified in this situation compiler are provide variable data type by using assigning value. Above statement are similar to this statement.

var message:String="Welcome to swift string" //string literals
print("\(message)") //Welcome to swift string

Multiline text is defined by using of three double quotes """. And there first line text must be in new line. And end with """ that are is define in new line That is indicates end of multiline text.

//define multiline text
let myText="""
This is an 
Multiline Text
"""
//display value
print(myText)

Output

This is an 
Multiline Text

Inside the string literals we can use Escape sequence (\n,\t) to arrange and format of text.

//Using escape Sequence inside a string literals
let escapeSequence = """
A\tB\tC\tD\nE\t\t\tF\nG\t\t\tH
"""

print("\(escapeSequence)")

Output

A  B   C   D
E          F
G          H

Normally new line is not part of multiline in case we are need to arranging long text to written separate line without breaking actual line. Then we can use backslash (\) in string literal.

let myText = """
This is simple \
single line text, \
And Arranged by backslash
"""

print("\(myText)")

Output

This is simple single line text, And Arranged by backslash

String Interpolation

That is a way to mention expression inside a string text. Normally that are used to describe constant expression and use variables inside a text.

let sum="\(1+2)" //evaluate expression

print(sum) //3

print("Type of Sum : \(type(of:sum)) ")

Output

3
Type of Sum : String 

Note that this are evaluate an expression but resultant is always in string form. They are mostly use to display result by print() function.

Use special characters in String Literals

In previous example we are view the example of how to format string literals in special format. There are few more special characters are available in Swift Programming. They are used to special purpose and produce special symbols.

unicode scalar values:

print("\u{950}") //ॐ
print("\u{1600}") //ᘀ
print("\u{2131}") // ℱ
print("\u{2693}") // ⚓
print("\u{2934}") // ⤴ 
print("\u{2792}") //➒  
print("\u{2748}") //❈  
print("\u{2730}") //✰  
print("\u{2668}") //♨  
print("\u{2656}") //♖  

Output

ॐ
ᘀ
ℱ
⚓
⤴
➒
❈
✰
♨
♖

In Given below there are display unicode scalar value in between of (2000 -3000)

//Print unicode scalar values (2000-3000)
var i=2000

while(i<=3000){
    let one=UnicodeScalar(Int(String(i), radix: 16)!)!
    let two=UnicodeScalar(Int(String(i+1), radix: 16)!)!
    let three=UnicodeScalar(Int(String(i+2), radix: 16)!)!
    let four=UnicodeScalar(Int(String(i+3), radix: 16)!)!
    print("\(i):\(one) \t \(i+1):\(two) \t \(i+2):\(three) \t \(i+3):\(four)")
   i+=4
}

Output

2000:       2001:       2002:       2003: 
2004:    2005:       2006:       2007: 
2008:    2009:       2010:‐      2011:‑
2012:‒   2013:–      2014:—      2015:―
2016:‖   2017:‗      2018:‘      2019:’
2020:†   2021:‡      2022:•      2023:‣
2024:․   2025:‥      2026:…      2027:‧
2028:
   2029:
      2030:‰      2031:‱
2032:′   2033:″      2034:‴      2035:‵
2036:‶   2037:‷      2038:‸      2039:‹
2040:⁀   2041:⁁      2042:⁂      2043:⁃
2044:⁄   2045:⁅      2046:⁆      2047:⁇
2048:⁈   2049:⁉      2050:⁐      2051:⁑
2052:⁒   2053:⁓      2054:⁔      2055:⁕
2056:⁖   2057:⁗      2058:⁘      2059:⁙
2060:⁠   2061:⁡      2062:⁢      2063:⁣
2064:⁤   2065:⁥      2066:⁦      2067:⁧
2068:⁨   2069:⁩      2070:⁰      2071:ⁱ
2072:⁲   2073:⁳      2074:⁴      2075:⁵
2076:⁶   2077:⁷      2078:⁸      2079:⁹
2080:₀   2081:₁      2082:₂      2083:₃
2084:₄   2085:₅      2086:₆      2087:₇
2088:₈   2089:₉      2090:ₐ      2091:ₑ
2092:ₒ   2093:ₓ      2094:ₔ      2095:ₕ
2096:ₖ   2097:ₗ      2098:ₘ      2099:ₙ
2100:℀   2101:℁      2102:ℂ      2103:℃
2104:℄   2105:℅      2106:℆      2107:ℇ
2108:℈   2109:℉      2110:ℐ      2111:ℑ
2112:ℒ   2113:ℓ      2114:℔      2115:ℕ
2116:№   2117:℗      2118:℘      2119:ℙ
2120:℠   2121:℡      2122:™      2123:℣
2124:ℤ   2125:℥      2126:Ω      2127:℧
2128:ℨ   2129:℩      2130:ℰ      2131:ℱ
2132:Ⅎ   2133:ℳ      2134:ℴ      2135:ℵ
2136:ℶ   2137:ℷ      2138:ℸ      2139:ℹ
2140:⅀   2141:⅁      2142:⅂      2143:⅃
2144:⅄   2145:ⅅ      2146:ⅆ      2147:ⅇ
2148:ⅈ   2149:ⅉ      2150:⅐      2151:⅑
2152:⅒   2153:⅓      2154:⅔      2155:⅕
2156:⅖   2157:⅗      2158:⅘      2159:⅙
2160:Ⅰ   2161:Ⅱ      2162:Ⅲ      2163:Ⅳ
2164:Ⅴ   2165:Ⅵ      2166:Ⅶ      2167:Ⅷ
2168:Ⅸ   2169:Ⅹ      2170:ⅰ      2171:ⅱ
2172:ⅲ   2173:ⅳ      2174:ⅴ      2175:ⅵ
2176:ⅶ   2177:ⅷ      2178:ⅸ      2179:ⅹ
2180:ↀ   2181:ↁ      2182:ↂ      2183:Ↄ
2184:ↄ   2185:ↅ      2186:ↆ      2187:ↇ
2188:ↈ   2189:↉      2190:←      2191:↑
2192:→   2193:↓      2194:↔      2195:↕
2196:↖   2197:↗      2198:↘      2199:↙
2200:∀   2201:∁      2202:∂      2203:∃
2204:∄   2205:∅      2206:∆      2207:∇
2208:∈   2209:∉      2210:∐      2211:∑
2212:−   2213:∓      2214:∔      2215:∕
2216:∖   2217:∗      2218:∘      2219:∙
2220:∠   2221:∡      2222:∢      2223:∣
2224:∤   2225:∥      2226:∦      2227:∧
2228:∨   2229:∩      2230:∰      2231:∱
2232:∲   2233:∳      2234:∴      2235:∵
2236:∶   2237:∷      2238:∸      2239:∹
2240:≀   2241:≁      2242:≂      2243:≃
2244:≄   2245:≅      2246:≆      2247:≇
2248:≈   2249:≉      2250:≐      2251:≑
2252:≒   2253:≓      2254:≔      2255:≕
2256:≖   2257:≗      2258:≘      2259:≙
2260:≠   2261:≡      2262:≢      2263:≣
2264:≤   2265:≥      2266:≦      2267:≧
2268:≨   2269:≩      2270:≰      2271:≱
2272:≲   2273:≳      2274:≴      2275:≵
2276:≶   2277:≷      2278:≸      2279:≹
2280:⊀   2281:⊁      2282:⊂      2283:⊃
2284:⊄   2285:⊅      2286:⊆      2287:⊇
2288:⊈   2289:⊉      2290:⊐      2291:⊑
2292:⊒   2293:⊓      2294:⊔      2295:⊕
2296:⊖   2297:⊗      2298:⊘      2299:⊙
2300:⌀   2301:⌁      2302:⌂      2303:⌃
2304:⌄   2305:⌅      2306:⌆      2307:⌇
2308:⌈   2309:⌉      2310:⌐      2311:⌑
2312:⌒   2313:⌓      2314:⌔      2315:⌕
2316:⌖   2317:⌗      2318:⌘      2319:⌙
2320:⌠   2321:⌡      2322:⌢      2323:⌣
2324:⌤   2325:⌥      2326:⌦      2327:⌧
2328:⌨   2329:〈      2330:⌰      2331:⌱
2332:⌲   2333:⌳      2334:⌴      2335:⌵
2336:⌶   2337:⌷      2338:⌸      2339:⌹
2340:⍀   2341:⍁      2342:⍂      2343:⍃
2344:⍄   2345:⍅      2346:⍆      2347:⍇
2348:⍈   2349:⍉      2350:⍐      2351:⍑
2352:⍒   2353:⍓      2354:⍔      2355:⍕
2356:⍖   2357:⍗      2358:⍘      2359:⍙
2360:⍠   2361:⍡      2362:⍢      2363:⍣
2364:⍤   2365:⍥      2366:⍦      2367:⍧
2368:⍨   2369:⍩      2370:⍰      2371:⍱
2372:⍲   2373:⍳      2374:⍴      2375:⍵
2376:⍶   2377:⍷      2378:⍸      2379:⍹
2380:⎀   2381:⎁      2382:⎂      2383:⎃
2384:⎄   2385:⎅      2386:⎆      2387:⎇
2388:⎈   2389:⎉      2390:⎐      2391:⎑
2392:⎒   2393:⎓      2394:⎔      2395:⎕
2396:⎖   2397:⎗      2398:⎘      2399:⎙
2400:␀   2401:␁      2402:␂      2403:␃
2404:␄   2405:␅      2406:␆      2407:␇
2408:␈   2409:␉      2410:␐      2411:␑
2412:␒   2413:␓      2414:␔      2415:␕
2416:␖   2417:␗      2418:␘      2419:␙
2420:␠   2421:␡      2422:␢      2423:␣
2424:␤   2425:␥      2426:␦      2427:␧
2428:␨   2429:␩      2430:␰      2431:␱
2432:␲   2433:␳      2434:␴      2435:␵
2436:␶   2437:␷      2438:␸      2439:␹
2440:⑀   2441:⑁      2442:⑂      2443:⑃
2444:⑄   2445:⑅      2446:⑆      2447:⑇
2448:⑈   2449:⑉      2450:⑐      2451:⑑
2452:⑒   2453:⑓      2454:⑔      2455:⑕
2456:⑖   2457:⑗      2458:⑘      2459:⑙
2460:①   2461:②      2462:③      2463:④
2464:⑤   2465:⑥      2466:⑦      2467:⑧
2468:⑨   2469:⑩      2470:⑰      2471:⑱
2472:⑲   2473:⑳      2474:⑴      2475:⑵
2476:⑶   2477:⑷      2478:⑸      2479:⑹
2480:⒀   2481:⒁      2482:⒂      2483:⒃
2484:⒄   2485:⒅      2486:⒆      2487:⒇
2488:⒈   2489:⒉      2490:⒐      2491:⒑
2492:⒒   2493:⒓      2494:⒔      2495:⒕
2496:⒖   2497:⒗      2498:⒘      2499:⒙
2500:─   2501:━      2502:│      2503:┃
2504:┄   2505:┅      2506:┆      2507:┇
2508:┈   2509:┉      2510:┐      2511:┑
2512:┒   2513:┓      2514:└      2515:┕
2516:┖   2517:┗      2518:┘      2519:┙
2520:┠   2521:┡      2522:┢      2523:┣
2524:┤   2525:┥      2526:┦      2527:┧
2528:┨   2529:┩      2530:┰      2531:┱
2532:┲   2533:┳      2534:┴      2535:┵
2536:┶   2537:┷      2538:┸      2539:┹
2540:╀   2541:╁      2542:╂      2543:╃
2544:╄   2545:╅      2546:╆      2547:╇
2548:╈   2549:╉      2550:═      2551:║
2552:╒   2553:╓      2554:╔      2555:╕
2556:╖   2557:╗      2558:╘      2559:╙
2560:╠   2561:╡      2562:╢      2563:╣
2564:╤   2565:╥      2566:╦      2567:╧
2568:╨   2569:╩      2570:╰      2571:╱
2572:╲   2573:╳      2574:╴      2575:╵
2576:╶   2577:╷      2578:╸      2579:╹
2580:▀   2581:▁      2582:▂      2583:▃
2584:▄   2585:▅      2586:▆      2587:▇
2588:█   2589:▉      2590:▐      2591:░
2592:▒   2593:▓      2594:▔      2595:▕
2596:▖   2597:▗      2598:▘      2599:▙
2600:☀   2601:☁      2602:☂      2603:☃
2604:☄   2605:★      2606:☆      2607:☇
2608:☈   2609:☉      2610:☐      2611:☑
2612:☒   2613:☓      2614:☔      2615:☕
2616:☖   2617:☗      2618:☘      2619:☙
2620:☠   2621:☡      2622:☢      2623:☣
2624:☤   2625:☥      2626:☦      2627:☧
2628:☨   2629:☩      2630:☰      2631:☱
2632:☲   2633:☳      2634:☴      2635:☵
2636:☶   2637:☷      2638:☸      2639:☹
2640:♀   2641:♁      2642:♂      2643:♃
2644:♄   2645:♅      2646:♆      2647:♇
2648:♈   2649:♉      2650:♐      2651:♑
2652:♒   2653:♓      2654:♔      2655:♕
2656:♖   2657:♗      2658:♘      2659:♙
2660:♠   2661:♡      2662:♢      2663:♣
2664:♤   2665:♥      2666:♦      2667:♧
2668:♨   2669:♩      2670:♰      2671:♱
2672:♲   2673:♳      2674:♴      2675:♵
2676:♶   2677:♷      2678:♸      2679:♹
2680:⚀   2681:⚁      2682:⚂      2683:⚃
2684:⚄   2685:⚅      2686:⚆      2687:⚇
2688:⚈   2689:⚉      2690:⚐      2691:⚑
2692:⚒   2693:⚓      2694:⚔      2695:⚕
2696:⚖   2697:⚗      2698:⚘      2699:⚙
2700:✀   2701:✁      2702:✂      2703:✃
2704:✄   2705:✅      2706:✆      2707:✇
2708:✈   2709:✉      2710:✐      2711:✑
2712:✒   2713:✓      2714:✔      2715:✕
2716:✖   2717:✗      2718:✘      2719:✙
2720:✠   2721:✡      2722:✢      2723:✣
2724:✤   2725:✥      2726:✦      2727:✧
2728:✨   2729:✩      2730:✰      2731:✱
2732:✲   2733:✳      2734:✴      2735:✵
2736:✶   2737:✷      2738:✸      2739:✹
2740:❀   2741:❁      2742:❂      2743:❃
2744:❄   2745:❅      2746:❆      2747:❇
2748:❈   2749:❉      2750:❐      2751:❑
2752:❒   2753:❓      2754:❔      2755:❕
2756:❖   2757:❗      2758:❘      2759:❙
2760:❠   2761:❡      2762:❢      2763:❣
2764:❤   2765:❥      2766:❦      2767:❧
2768:❨   2769:❩      2770:❰      2771:❱
2772:❲   2773:❳      2774:❴      2775:❵
2776:❶   2777:❷      2778:❸      2779:❹
2780:➀   2781:➁      2782:➂      2783:➃
2784:➄   2785:➅      2786:➆      2787:➇
2788:➈   2789:➉      2790:➐      2791:➑
2792:➒   2793:➓      2794:➔      2795:➕
2796:➖   2797:➗      2798:➘      2799:➙
2800:⠀   2801:⠁      2802:⠂      2803:⠃
2804:⠄   2805:⠅      2806:⠆      2807:⠇
2808:⠈   2809:⠉      2810:⠐      2811:⠑
2812:⠒   2813:⠓      2814:⠔      2815:⠕
2816:⠖   2817:⠗      2818:⠘      2819:⠙
2820:⠠   2821:⠡      2822:⠢      2823:⠣
2824:⠤   2825:⠥      2826:⠦      2827:⠧
2828:⠨   2829:⠩      2830:⠰      2831:⠱
2832:⠲   2833:⠳      2834:⠴      2835:⠵
2836:⠶   2837:⠷      2838:⠸      2839:⠹
2840:⡀   2841:⡁      2842:⡂      2843:⡃
2844:⡄   2845:⡅      2846:⡆      2847:⡇
2848:⡈   2849:⡉      2850:⡐      2851:⡑
2852:⡒   2853:⡓      2854:⡔      2855:⡕
2856:⡖   2857:⡗      2858:⡘      2859:⡙
2860:⡠   2861:⡡      2862:⡢      2863:⡣
2864:⡤   2865:⡥      2866:⡦      2867:⡧
2868:⡨   2869:⡩      2870:⡰      2871:⡱
2872:⡲   2873:⡳      2874:⡴      2875:⡵
2876:⡶   2877:⡷      2878:⡸      2879:⡹
2880:⢀   2881:⢁      2882:⢂      2883:⢃
2884:⢄   2885:⢅      2886:⢆      2887:⢇
2888:⢈   2889:⢉      2890:⢐      2891:⢑
2892:⢒   2893:⢓      2894:⢔      2895:⢕
2896:⢖   2897:⢗      2898:⢘      2899:⢙
2900:⤀   2901:⤁      2902:⤂      2903:⤃
2904:⤄   2905:⤅      2906:⤆      2907:⤇
2908:⤈   2909:⤉      2910:⤐      2911:⤑
2912:⤒   2913:⤓      2914:⤔      2915:⤕
2916:⤖   2917:⤗      2918:⤘      2919:⤙
2920:⤠   2921:⤡      2922:⤢      2923:⤣
2924:⤤   2925:⤥      2926:⤦      2927:⤧
2928:⤨   2929:⤩      2930:⤰      2931:⤱
2932:⤲   2933:⤳      2934:⤴      2935:⤵
2936:⤶   2937:⤷      2938:⤸      2939:⤹
2940:⥀   2941:⥁      2942:⥂      2943:⥃
2944:⥄   2945:⥅      2946:⥆      2947:⥇
2948:⥈   2949:⥉      2950:⥐      2951:⥑
2952:⥒   2953:⥓      2954:⥔      2955:⥕
2956:⥖   2957:⥗      2958:⥘      2959:⥙
2960:⥠   2961:⥡      2962:⥢      2963:⥣
2964:⥤   2965:⥥      2966:⥦      2967:⥧
2968:⥨   2969:⥩      2970:⥰      2971:⥱
2972:⥲   2973:⥳      2974:⥴      2975:⥵
2976:⥶   2977:⥷      2978:⥸      2979:⥹
2980:⦀   2981:⦁      2982:⦂      2983:⦃
2984:⦄   2985:⦅      2986:⦆      2987:⦇
2988:⦈   2989:⦉      2990:⦐      2991:⦑
2992:⦒   2993:⦓      2994:⦔      2995:⦕
2996:⦖   2997:⦗      2998:⦘      2999:⦙
3000:    3001:、      3002:。      3003:〃

Inbuilt method and basic string operation

In this section we are view how to modified string text to special format and how to manipulate string in different scenario.

String text iteration

There is two way we can iterate string text of using for-in and while loops. most of cases for-in are flexible. Here include example how to used for-in and while loop for string iteration.

let textData = "Swift 4"

print("Using for loop")
//Using for-in loop
for charValue in textData{
    print(charValue)
}


var index = textData.startIndex

print("Using while loop")
//Using while loop
while index != textData.endIndex {
        print(textData[index])
        index = textData.index(after: index)
}
Output
Using for loop
S
w
i
f
t
 
4
Using while loop
S
w
i
f
t
 
4

Concatenation of string

let language = "Swift"
let typeSet = "Programming"
let combineCode = language+" "+typeSet  //concatenation of strings
print("language: \(language)")
print("typeSet: \(typeSet)")
print("combineCode: \(combineCode)")

Output

language: Swift
typeSet: Programming
combineCode: Swift Programming

+ sign are used to concatenation of two strings. We can also use inbuilt method which are add text to mutable string variables. See this example.

var address = "XY City mini park nearby sun complex"

address.append(" Pin Code xx-yy-zz") //add text to end position

print("\(address)")

Output

XY City mini park nearby sun complex Pin Code-xx-yy-zz

We can also implement a method which are add text at beginning of text object. See this example.

//add new feature of String class
extension String {
   //Add text at begining of string 
    mutating func prepend(_ rhs:String){

        self=rhs+self
  }
}
var textString="ABC"
textString.prepend("XYZ")
print(textString) //XYZABC

Note that this method are cannot work of an immutable variable and both constant literals.

Get number of characters:

let a="Swift"
let b="Programming Code"
print("Size of a: \(a.count)")//5
print("Size of b: \(b.count)") //16 include space

Output

Size of a: 5
Size of b: 16

Swift are supported various formats of characters. such as String characters , unicodeScalars , utf8 , and utf16. In above example is normal form of String. and count are returning the number of characters string. See another example to get length of string in another format.

let text="Sw⦔!"

print(" \(text.count)") //4
print(" \(text.utf16.count)") //4
print(" \(text.utf8.count)") //6
print(" \(text.unicodeScalars.count)") //4
print(" \(text.utf16.count)") //4

Output

 4
 4
 6
 4
 4

All uppercase character

let textString = "Hello World!" // String literal

print(textString.uppercased()) //make all uppercase characters

Output

HELLO WORLD!

All lowercase character

let textString = "HELLO World!" // String literal

print(textString.lowercased()) //make all lowercase characters

Output

hello world!

Reversing Strings Text

let simpleText="ABCDE"
let reverseText=String(simpleText.reversed())
print("\(simpleText) vs \(reverseText)") 

Output

ABCDE vs EDCBA

Split string Text

let myText = "Swift Code 4"
let myTextArray = myText.split(separator : " ")
print(myTextArray) //["Swift", "Code", "4"]

Output

["Swift", "Code", "4"]




Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

New Comment