{"id":27232,"date":"2025-04-18T14:34:31","date_gmt":"2025-04-18T07:34:31","guid":{"rendered":"https:\/\/interdata.vn\/blog\/?p=27232"},"modified":"2025-04-18T14:34:31","modified_gmt":"2025-04-18T07:34:31","slug":"string-la-gi","status":"publish","type":"post","link":"https:\/\/interdata.vn\/blog\/string-la-gi\/","title":{"rendered":"String l\u00e0 g\u00ec? Gi\u1ea3i th\u00edch ki\u1ec3u chu\u1ed7i k\u00fd t\u1ef1 d\u1ec5 hi\u1ec3u (K\u00e8m V\u00ed D\u1ee5)"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">N\u1ed8I DUNG<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#String-la-gi\" >String l\u00e0 g\u00ec?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Hieu-String-nhu-mot-day-cac-Ky-tu-Character-lien-tiep\" >Hi\u1ec3u String nh\u01b0 m\u1ed9t d\u00e3y c\u00e1c K\u00fd t\u1ef1 (Character) li\u00ean ti\u1ebfp<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Phan-biet-String-voi-cac-Kieu-du-lieu-co-ban-khac-So-nguyen-So-thuc%E2%80%A6\" >Ph\u00e2n bi\u1ec7t String v\u1edbi c\u00e1c Ki\u1ec3u d\u1eef li\u1ec7u c\u01a1 b\u1ea3n kh\u00e1c (S\u1ed1 nguy\u00ean, S\u1ed1 th\u1ef1c&#8230;)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Tai-sao-String-lai-quan-trong-va-duoc-dung-o-khap-moi-noi\" >T\u1ea1i sao String l\u1ea1i quan tr\u1ecdng v\u00e0 \u0111\u01b0\u1ee3c d\u00f9ng \u1edf kh\u1eafp m\u1ecdi n\u01a1i?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Vai-tro-khong-the-thieu-trong-viec-luu-tru-xu-ly-Van-ban-Text\" >Vai tr\u00f2 kh\u00f4ng th\u1ec3 thi\u1ebfu trong vi\u1ec7c l\u01b0u tr\u1eef &amp; x\u1eed l\u00fd V\u0103n b\u1ea3n (Text)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#%E2%80%9CCau-noi%E2%80%9D-giao-tiep-giua-chuong-trinh-va-nguoi-dung\" >&#8220;C\u1ea7u n\u1ed1i&#8221; giao ti\u1ebfp gi\u1eefa ch\u01b0\u01a1ng tr\u00ecnh v\u00e0 ng\u01b0\u1eddi d\u00f9ng<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Ung-dung-trong-viec-quan-ly-va-lam-viec-voi-du-lieu-thuc-te\" >\u1ee8ng d\u1ee5ng trong vi\u1ec7c qu\u1ea3n l\u00fd v\u00e0 l\u00e0m vi\u1ec7c v\u1edbi d\u1eef li\u1ec7u th\u1ef1c t\u1ebf<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Cach-String-hoat-dong-Bieu-dien-va-Cu-phap-khai-bao\" >C\u00e1ch String ho\u1ea1t \u0111\u1ed9ng: Bi\u1ec3u di\u1ec5n v\u00e0 C\u00fa ph\u00e1p khai b\u00e1o<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Khai-bao-String-Suc-manh-cua-cap-dau-nhay-don-%E2%80%98-%E2%80%98-va-nhay-kep-%E2%80%9D-%E2%80%9C\" >Khai b\u00e1o String: S\u1ee9c m\u1ea1nh c\u1ee7a c\u1eb7p d\u1ea5u nh\u00e1y \u0111\u01a1n (&#8216; &#8216;) v\u00e0 nh\u00e1y k\u00e9p (&#8221; &#8220;)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Ben-trong-String-Tim-hieu-ve-Ky-tu-dac-biet-Escape-Characters-%E2%80%93-Giai-thich-don-gian\" >B\u00ean trong String: T\u00ecm hi\u1ec3u v\u1ec1 K\u00fd t\u1ef1 \u0111\u1eb7c bi\u1ec7t (Escape Characters) &#8211; Gi\u1ea3i th\u00edch \u0111\u01a1n gi\u1ea3n<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#String-co-thay-doi-duoc-khong-Khai-niem-ve-tinh-bat-bien-Immutability-%E2%80%93-Giai-thich-de-hieu\" >String c\u00f3 thay \u0111\u1ed5i \u0111\u01b0\u1ee3c kh\u00f4ng? Kh\u00e1i ni\u1ec7m v\u1ec1 t\u00ednh b\u1ea5t bi\u1ebfn (Immutability) &#8211; Gi\u1ea3i th\u00edch d\u1ec5 hi\u1ec3u<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Vi-du-String-trong-cac-ngon-ngu-lap-trinh-pho-bien\" >V\u00ed d\u1ee5 String trong c\u00e1c ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh ph\u1ed5 bi\u1ebfn<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Vi-du-ve-cach-khai-bao-va-su-dung-String-trong-Python\" >V\u00ed d\u1ee5 v\u1ec1 c\u00e1ch khai b\u00e1o v\u00e0 s\u1eed d\u1ee5ng String trong Python<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Vi-du-ve-cach-khai-bao-va-su-dung-String-trong-JavaScript\" >V\u00ed d\u1ee5 v\u1ec1 c\u00e1ch khai b\u00e1o v\u00e0 s\u1eed d\u1ee5ng String trong JavaScript<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Vi-du-ve-cach-khai-bao-va-su-dung-String-trong-Java-hoac-C\" >V\u00ed d\u1ee5 v\u1ec1 c\u00e1ch khai b\u00e1o v\u00e0 s\u1eed d\u1ee5ng String trong Java (ho\u1eb7c C#)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Lam-quen-voi-cac-thao-tac-co-ban-tren-String\" >L\u00e0m quen v\u1edbi c\u00e1c thao t\u00e1c c\u01a1 b\u1ea3n tr\u00ean String<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Ghep-noi-cac-chuoi-lai-voi-nhau-Noi-chuoi-%E2%80%93-Concatenation\" >Gh\u00e9p n\u1ed1i c\u00e1c chu\u1ed7i l\u1ea1i v\u1edbi nhau (N\u1ed1i chu\u1ed7i &#8211; Concatenation)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Do-do-dai-cua-mot-chuoi-Lay-chieu-dai-%E2%80%93-Length\" >\u0110o \u0111\u1ed9 d\u00e0i c\u1ee7a m\u1ed9t chu\u1ed7i (L\u1ea5y chi\u1ec1u d\u00e0i &#8211; Length)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Lay-ra-mot-ky-tu-cu-the-trong-chuoi-Truy-cap-phan-tu-%E2%80%93-Indexing-%E2%80%93-Vi-du-don-gian\" >L\u1ea5y ra m\u1ed9t k\u00fd t\u1ef1 c\u1ee5 th\u1ec3 trong chu\u1ed7i (Truy c\u1eadp ph\u1ea7n t\u1eed &#8211; Indexing) &#8211; V\u00ed d\u1ee5 \u0111\u01a1n gi\u1ea3n<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Meo-va-Luu-y-quan-trong-khi-lam-viec-voi-String-cho-nguoi-moi\" >M\u1eb9o v\u00e0 L\u01b0u \u00fd quan tr\u1ecdng khi l\u00e0m vi\u1ec7c v\u1edbi String cho ng\u01b0\u1eddi m\u1edbi<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Coi-chung-String-phan-biet-chu-hoa-va-chu-thuong\" >Coi ch\u1eebng! String ph\u00e2n bi\u1ec7t ch\u1eef hoa v\u00e0 ch\u1eef th\u01b0\u1eddng<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Luon-kiem-tra-kieu-du-lieu-khi-thuc-hien-phep-toan\" >Lu\u00f4n ki\u1ec3m tra ki\u1ec3u d\u1eef li\u1ec7u khi th\u1ef1c hi\u1ec7n ph\u00e9p to\u00e1n<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Tong-ket-String-la-gi-va-hanh-trang-tiep-theo-cho-ban\" >T\u1ed5ng k\u1ebft: String l\u00e0 g\u00ec v\u00e0 h\u00e0nh trang ti\u1ebfp theo cho b\u1ea1n<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/#Tom-tat-nhung-diem-chinh-can-nho-ve-String\" >T\u00f3m t\u1eaft nh\u1eefng \u0111i\u1ec3m ch\u00ednh c\u1ea7n nh\u1edb v\u1ec1 String<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n<p>String \u2013 hay chu\u1ed7i k\u00fd t\u1ef1 \u2013 l\u00e0 m\u1ed9t trong nh\u1eefng kh\u00e1i ni\u1ec7m quan tr\u1ecdng \u0111\u1ea7u ti\u00ean b\u1ea1n c\u1ea7n n\u1eafm khi h\u1ecdc <a href=\"https:\/\/interdata.vn\/blog\/lap-trinh-la-gi\/\">l\u1eadp tr\u00ecnh<\/a>. Trong b\u00e0i vi\u1ebft n\u00e0y, b\u1ea1n s\u1ebd t\u00ecm th\u1ea5y m\u1ecdi th\u1ee9 b\u1ea1n c\u1ea7n: t\u1eeb c\u00e1ch hi\u1ec3u string, s\u1ef1 kh\u00e1c bi\u1ec7t v\u1edbi c\u00e1c ki\u1ec3u d\u1eef li\u1ec7u kh\u00e1c, c\u00e1ch khai b\u00e1o, s\u1eed d\u1ee5ng, \u0111\u1ebfn c\u00e1c m\u1eb9o x\u1eed l\u00fd string hi\u1ec7u qu\u1ea3 trong Python, <a href=\"https:\/\/interdata.vn\/blog\/javascript-la-gi\/\">JavaScript<\/a>, Java\u2026 T\u1ea5t c\u1ea3 \u0111\u01b0\u1ee3c tr\u00ecnh b\u00e0y d\u1ec5 hi\u1ec3u, r\u00f5 r\u00e0ng cho ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"String-la-gi\"><\/span>String l\u00e0 g\u00ec?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/interdata.vn\/blog\/string-la-gi\/\"><strong>String<\/strong><\/a>, hay c\u00f2n g\u1ecdi l\u00e0 <strong>chu\u1ed7i<\/strong> ho\u1eb7c <strong>chu\u1ed7i k\u00fd t\u1ef1<\/strong>, l\u00e0 m\u1ed9t <strong>ki\u1ec3u d\u1eef li\u1ec7u (data type)<\/strong> c\u01a1 b\u1ea3n trong h\u1ea7u h\u1ebft c\u00e1c <a href=\"https:\/\/interdata.vn\/blog\/ngon-ngu-lap-trinh-la-gi\/\">ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh<\/a>. N\u00f3 \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 bi\u1ec3u di\u1ec5n v\u00e0 l\u01b0u tr\u1eef d\u1eef li\u1ec7u d\u01b0\u1edbi d\u1ea1ng <strong>v\u0103n b\u1ea3n (text)<\/strong>, ch\u1eb3ng h\u1ea1n nh\u01b0 t\u00ean, \u0111\u1ecba ch\u1ec9, th\u00f4ng b\u00e1o, hay b\u1ea5t k\u1ef3 d\u00f2ng ch\u1eef n\u00e0o.<\/p>\n<p>H\u00e3y t\u01b0\u1edfng t\u01b0\u1ee3ng string gi\u1ed1ng nh\u01b0 c\u00e1ch ch\u00fang ta vi\u1ebft ch\u1eef trong \u0111\u1eddi th\u1ef1c v\u1eady. M\u1ed7i t\u1eeb, m\u1ed7i c\u00e2u, m\u1ed7i \u0111o\u1ea1n v\u0103n b\u1ea1n \u0111\u1ecdc hay vi\u1ebft ra \u0111\u1ec1u c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c xem nh\u01b0 m\u1ed9t string trong th\u1ebf gi\u1edbi m\u00e1y t\u00ednh. \u0110\u00e2y l\u00e0 c\u00e1ch ch\u00ednh \u0111\u1ec3 m\u00e1y t\u00ednh &#8220;hi\u1ec3u&#8221; v\u00e0 l\u00e0m vi\u1ec7c v\u1edbi ch\u1eef vi\u1ebft.<\/p>\n<p>Ki\u1ec3u d\u1eef li\u1ec7u n\u00e0y l\u00e0 n\u1ec1n t\u1ea3ng cho r\u1ea5t nhi\u1ec1u \u1ee9ng d\u1ee5ng. T\u1eeb vi\u1ec7c hi\u1ec3n th\u1ecb l\u1eddi ch\u00e0o tr\u00ean m\u00e0n h\u00ecnh, l\u01b0u tr\u1eef th\u00f4ng tin ng\u01b0\u1eddi d\u00f9ng, cho \u0111\u1ebfn x\u1eed l\u00fd c\u00e1c \u0111o\u1ea1n v\u0103n b\u1ea3n ph\u1ee9c t\u1ea1p trong ph\u00e2n t\u00edch d\u1eef li\u1ec7u, string lu\u00f4n \u0111\u00f3ng vai tr\u00f2 trung t\u00e2m. V\u00ec v\u1eady, n\u1eafm v\u1eefng v\u1ec1 string l\u00e0 \u0111i\u1ec1u c\u1ef1c k\u1ef3 c\u1ea7n thi\u1ebft.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/04\/String-la-gi.jpg\" alt=\"String l\u00e0 g\u00ec\" width=\"750\" height=\"500\" class=\"aligncenter size-full wp-image-27240\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/04\/String-la-gi.jpg 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/04\/String-la-gi-300x200.jpg 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Hieu-String-nhu-mot-day-cac-Ky-tu-Character-lien-tiep\"><\/span>Hi\u1ec3u String nh\u01b0 m\u1ed9t d\u00e3y c\u00e1c K\u00fd t\u1ef1 (Character) li\u00ean ti\u1ebfp<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>V\u1eady b\u1ea3n ch\u1ea5t s\u00e2u xa h\u01a1n c\u1ee7a string l\u00e0 g\u00ec? B\u1ea1n c\u00f3 th\u1ec3 h\u00ecnh dung string nh\u01b0 m\u1ed9t <strong>d\u00e3y (sequence)<\/strong> g\u1ed3m nhi\u1ec1u <strong>k\u00fd t\u1ef1 (character)<\/strong> \u0111\u01b0\u1ee3c x\u1ebfp n\u1ed1i ti\u1ebfp nhau theo m\u1ed9t th\u1ee9 t\u1ef1 nh\u1ea5t \u0111\u1ecbnh. Gi\u1ed1ng nh\u01b0 m\u1ed9t \u0111o\u00e0n t\u00e0u v\u1edbi nhi\u1ec1u toa n\u1ed1i li\u1ec1n nhau v\u1eady.<\/p>\n<p><strong>K\u00fd t\u1ef1 (character)<\/strong> \u1edf \u0111\u00e2y l\u00e0 \u0111\u01a1n v\u1ecb nh\u1ecf nh\u1ea5t c\u1ea5u t\u1ea1o n\u00ean string. N\u00f3 c\u00f3 th\u1ec3 l\u00e0 m\u1ed9t ch\u1eef c\u00e1i (v\u00ed d\u1ee5: &#8216;a&#8217;, &#8216;B&#8217;, &#8216;c&#8217;), m\u1ed9t ch\u1eef s\u1ed1 (&#8216;0&#8217;, &#8216;1&#8217;, &#8216;9&#8217;), m\u1ed9t k\u00fd hi\u1ec7u \u0111\u1eb7c bi\u1ec7t (&#8216;!&#8217;, &#8216;@&#8217;, &#8216;#&#8217;, &#8216;$&#8217;) ho\u1eb7c th\u1eadm ch\u00ed l\u00e0 m\u1ed9t kho\u1ea3ng tr\u1eafng (&#8216; &#8216;).<\/p>\n<p>\u0110i\u1ec1u quan tr\u1ecdng c\u1ea7n nh\u1edb l\u00e0 th\u1ee9 t\u1ef1 c\u1ee7a c\u00e1c k\u00fd t\u1ef1 trong string r\u1ea5t c\u00f3 \u00fd ngh\u0129a. V\u00ed d\u1ee5, string &#8220;hello&#8221; kh\u00e1c ho\u00e0n to\u00e0n v\u1edbi string &#8220;olleh&#8221;, m\u1eb7c d\u00f9 ch\u00fang c\u00f9ng ch\u1ee9a c\u00e1c k\u00fd t\u1ef1 gi\u1ed1ng h\u1ec7t nhau. Th\u1ee9 t\u1ef1 t\u1ea1o n\u00ean \u00fd ngh\u0129a cho chu\u1ed7i v\u0103n b\u1ea3n \u0111\u00f3.<\/p>\n<p>Khi b\u1ea1n khai b\u00e1o m\u1ed9t string, m\u00e1y t\u00ednh s\u1ebd l\u01b0u tr\u1eef d\u00e3y k\u00fd t\u1ef1 n\u00e0y v\u00e0o b\u1ed9 nh\u1edb. M\u1ed7i k\u00fd t\u1ef1 s\u1ebd chi\u1ebfm m\u1ed9t kh\u00f4ng gian nh\u1ecf, v\u00e0 ch\u00fang \u0111\u01b0\u1ee3c s\u1eafp x\u1ebfp li\u1ec1n k\u1ec1 nhau \u0111\u1ec3 t\u1ea1o th\u00e0nh m\u1ed9t chu\u1ed7i ho\u00e0n ch\u1ec9nh, s\u1eb5n s\u00e0ng cho vi\u1ec7c x\u1eed l\u00fd sau n\u00e0y.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Phan-biet-String-voi-cac-Kieu-du-lieu-co-ban-khac-So-nguyen-So-thuc%E2%80%A6\"><\/span>Ph\u00e2n bi\u1ec7t String v\u1edbi c\u00e1c Ki\u1ec3u d\u1eef li\u1ec7u c\u01a1 b\u1ea3n kh\u00e1c (S\u1ed1 nguy\u00ean, S\u1ed1 th\u1ef1c&#8230;)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Trong l\u1eadp tr\u00ecnh, ngo\u00e0i string, b\u1ea1n s\u1ebd g\u1eb7p nhi\u1ec1u <strong>ki\u1ec3u d\u1eef li\u1ec7u (data type)<\/strong> c\u01a1 b\u1ea3n kh\u00e1c. Vi\u1ec7c ph\u00e2n bi\u1ec7t ch\u00fang r\u1ea5t quan tr\u1ecdng. C\u00e1c ki\u1ec3u ph\u1ed5 bi\u1ebfn kh\u00e1c bao g\u1ed3m <strong>Integer<\/strong> (s\u1ed1 nguy\u00ean, v\u00ed d\u1ee5: 10, -5, 0), <strong>Float<\/strong> (s\u1ed1 th\u1ef1c, v\u00ed d\u1ee5: 3.14, -0.5), v\u00e0 <strong>Boolean<\/strong> (ki\u1ec3u logic, ch\u1ec9 c\u00f3 gi\u00e1 tr\u1ecb True ho\u1eb7c False).<\/p>\n<p>S\u1ef1 kh\u00e1c bi\u1ec7t ch\u00ednh n\u1eb1m \u1edf m\u1ee5c \u0111\u00edch s\u1eed d\u1ee5ng v\u00e0 c\u00e1c ph\u00e9p to\u00e1n c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n. String d\u00f9ng \u0111\u1ec3 bi\u1ec3u di\u1ec5n v\u0103n b\u1ea3n. Integer v\u00e0 Float d\u00f9ng cho c\u00e1c con s\u1ed1 \u0111\u1ec3 th\u1ef1c hi\u1ec7n t\u00ednh to\u00e1n to\u00e1n h\u1ecdc (c\u1ed9ng, tr\u1eeb, nh\u00e2n, chia). Boolean d\u00f9ng \u0111\u1ec3 th\u1ec3 hi\u1ec7n c\u00e1c \u0111i\u1ec1u ki\u1ec7n \u0111\u00fang\/sai trong logic ch\u01b0\u01a1ng tr\u00ecnh.<\/p>\n<p>B\u1ea1n kh\u00f4ng th\u1ec3 (th\u01b0\u1eddng l\u00e0 v\u1eady) c\u1ed9ng m\u1ed9t string v\u1edbi m\u1ed9t s\u1ed1 nguy\u00ean m\u1ed9t c\u00e1ch tr\u1ef1c ti\u1ebfp nh\u01b0 ph\u00e9p to\u00e1n s\u1ed1 h\u1ecdc. V\u00ed d\u1ee5, <code>\"Hello\" + 5<\/code> th\u01b0\u1eddng s\u1ebd g\u00e2y l\u1ed7i ho\u1eb7c cho ra k\u1ebft qu\u1ea3 kh\u00f4ng mong mu\u1ed1n (v\u00ed d\u1ee5, n\u1ed1i chu\u1ed7i th\u00e0nh <code>\"Hello5\"<\/code> thay v\u00ec t\u00ednh to\u00e1n). M\u1ed7i ki\u1ec3u d\u1eef li\u1ec7u c\u00f3 b\u1ed9 quy t\u1eafc v\u00e0 ph\u00e9p to\u00e1n ri\u00eang.<\/p>\n<p>Hi\u1ec3u r\u00f5 s\u1ef1 kh\u00e1c bi\u1ec7t n\u00e0y gi\u00fap b\u1ea1n s\u1eed d\u1ee5ng \u0111\u00fang ki\u1ec3u d\u1eef li\u1ec7u cho \u0111\u00fang m\u1ee5c \u0111\u00edch, tr\u00e1nh \u0111\u01b0\u1ee3c c\u00e1c l\u1ed7i kh\u00f4ng \u0111\u00e1ng c\u00f3 v\u00e0 vi\u1ebft code hi\u1ec7u qu\u1ea3 h\u01a1n. Lu\u00f4n nh\u1edb r\u1eb1ng, string l\u00e0 d\u00e0nh cho v\u0103n b\u1ea3n, c\u00f2n c\u00e1c ki\u1ec3u s\u1ed1 l\u00e0 d\u00e0nh cho t\u00ednh to\u00e1n.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tai-sao-String-lai-quan-trong-va-duoc-dung-o-khap-moi-noi\"><\/span>T\u1ea1i sao String l\u1ea1i quan tr\u1ecdng v\u00e0 \u0111\u01b0\u1ee3c d\u00f9ng \u1edf kh\u1eafp m\u1ecdi n\u01a1i?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>B\u1ea1n \u0111\u00e3 hi\u1ec3u string l\u00e0 g\u00ec r\u1ed3i, nh\u01b0ng t\u1ea1i sao n\u00f3 l\u1ea1i xu\u1ea5t hi\u1ec7n nhi\u1ec1u \u0111\u1ebfn th\u1ebf trong l\u1eadp tr\u00ecnh? C\u00e2u tr\u1ea3 l\u1eddi n\u1eb1m \u1edf vai tr\u00f2 kh\u00f4ng th\u1ec3 thay th\u1ebf c\u1ee7a n\u00f3 trong vi\u1ec7c x\u1eed l\u00fd th\u00f4ng tin.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Vai-tro-khong-the-thieu-trong-viec-luu-tru-xu-ly-Van-ban-Text\"><\/span>Vai tr\u00f2 kh\u00f4ng th\u1ec3 thi\u1ebfu trong vi\u1ec7c l\u01b0u tr\u1eef &amp; x\u1eed l\u00fd V\u0103n b\u1ea3n (Text)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u00e2y l\u00e0 l\u00fd do ch\u00ednh v\u00e0 r\u00f5 r\u00e0ng nh\u1ea5t. Th\u1ebf gi\u1edbi ch\u00fang ta \u0111\u1ea7y \u1eafp th\u00f4ng tin d\u1ea1ng v\u0103n b\u1ea3n: t\u00ean ng\u01b0\u1eddi, \u0111\u1ecba ch\u1ec9, s\u00e1ch b\u00e1o, email, m\u00e3 code, tin nh\u1eafn,&#8230; String ch\u00ednh l\u00e0 c\u00f4ng c\u1ee5 m\u00e0 m\u00e1y t\u00ednh s\u1eed d\u1ee5ng \u0111\u1ec3 l\u01b0u tr\u1eef, bi\u1ec3u di\u1ec5n v\u00e0 thao t\u00e1c v\u1edbi t\u1ea5t c\u1ea3 nh\u1eefng lo\u1ea1i d\u1eef li\u1ec7u ch\u1eef vi\u1ebft n\u00e0y.<\/p>\n<p>Kh\u00f4ng c\u00f3 string, vi\u1ec7c l\u1eadp tr\u00ecnh c\u00e1c \u1ee9ng d\u1ee5ng x\u1eed l\u00fd ng\u00f4n ng\u1eef t\u1ef1 nhi\u00ean, t\u1ea1o c\u00e1c tr\u00ecnh so\u1ea1n th\u1ea3o v\u0103n b\u1ea3n, qu\u1ea3n l\u00fd c\u01a1 s\u1edf d\u1eef li\u1ec7u ch\u1ee9a th\u00f4ng tin kh\u00e1ch h\u00e0ng, hay \u0111\u01a1n gi\u1ea3n l\u00e0 hi\u1ec3n th\u1ecb m\u1ed9t d\u00f2ng ch\u1eef &#8220;Xin ch\u00e0o&#8221; c\u0169ng tr\u1edf n\u00ean b\u1ea5t kh\u1ea3 thi. String l\u00e0 c\u1ea7u n\u1ed1i gi\u1eefa ng\u00f4n ng\u1eef con ng\u01b0\u1eddi v\u00e0 ng\u00f4n ng\u1eef m\u00e1y t\u00ednh.<\/p>\n<p>M\u1ecdi th\u00f4ng tin c\u1ea7n \u0111\u01b0\u1ee3c \u0111\u1ecdc, ghi, t\u00ecm ki\u1ebfm, thay th\u1ebf, ho\u1eb7c ph\u00e2n t\u00edch d\u01b0\u1edbi d\u1ea1ng ch\u1eef \u0111\u1ec1u d\u1ef1a v\u00e0o string. N\u00f3 cung c\u1ea5p c\u1ea5u tr\u00fac v\u00e0 ph\u01b0\u01a1ng ti\u1ec7n \u0111\u1ec3 th\u1ef1c hi\u1ec7n nh\u1eefng t\u00e1c v\u1ee5 n\u00e0y m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3 b\u00ean trong c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh m\u00e1y t\u00ednh ph\u1ee9c t\u1ea1p.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E2%80%9CCau-noi%E2%80%9D-giao-tiep-giua-chuong-trinh-va-nguoi-dung\"><\/span>&#8220;C\u1ea7u n\u1ed1i&#8221; giao ti\u1ebfp gi\u1eefa ch\u01b0\u01a1ng tr\u00ecnh v\u00e0 ng\u01b0\u1eddi d\u00f9ng<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>H\u1ea7u h\u1ebft c\u00e1c \u1ee9ng d\u1ee5ng ph\u1ea7n m\u1ec1m \u0111\u1ec1u c\u1ea7n t\u01b0\u01a1ng t\u00e1c v\u1edbi ng\u01b0\u1eddi d\u00f9ng. String \u0111\u00f3ng vai tr\u00f2 then ch\u1ed1t trong vi\u1ec7c giao ti\u1ebfp n\u00e0y. M\u1ecdi th\u00f4ng b\u00e1o hi\u1ec3n th\u1ecb tr\u00ean m\u00e0n h\u00ecnh, c\u00e1c nh\u00e3n n\u00fat b\u1ea5m, n\u1ed9i dung trong c\u00e1c \u00f4 nh\u1eadp li\u1ec7u (textbox), th\u00f4ng tin h\u01b0\u1edbng d\u1eabn&#8230; \u0111\u1ec1u l\u00e0 c\u00e1c string.<\/p>\n<p>Khi b\u1ea1n nh\u1eadp t\u00ean \u0111\u0103ng nh\u1eadp, m\u1eadt kh\u1ea9u hay vi\u1ebft m\u1ed9t b\u00ecnh lu\u1eadn tr\u00ean m\u1ea1ng x\u00e3 h\u1ed9i, b\u1ea1n \u0111ang cung c\u1ea5p d\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o d\u01b0\u1edbi d\u1ea1ng string cho ch\u01b0\u01a1ng tr\u00ecnh. Ng\u01b0\u1ee3c l\u1ea1i, khi ch\u01b0\u01a1ng tr\u00ecnh hi\u1ec3n th\u1ecb k\u1ebft qu\u1ea3 t\u00ecm ki\u1ebfm, th\u00f4ng b\u00e1o l\u1ed7i, hay n\u1ed9i dung b\u00e0i vi\u1ebft, n\u00f3 \u0111ang xu\u1ea5t d\u1eef li\u1ec7u ra d\u01b0\u1edbi d\u1ea1ng string.<\/p>\n<p>Nh\u1edd c\u00f3 string, l\u1eadp tr\u00ecnh vi\u00ean c\u00f3 th\u1ec3 t\u1ea1o ra c\u00e1c <strong>giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng (User Interface &#8211; <a href=\"https:\/\/interdata.vn\/blog\/ui-la-gi\/\">UI<\/a>)<\/strong> th\u00e2n thi\u1ec7n, d\u1ec5 hi\u1ec3u. Ng\u01b0\u1eddi d\u00f9ng c\u00f3 th\u1ec3 \u0111\u1ecdc v\u00e0 nh\u1eadp th\u00f4ng tin m\u1ed9t c\u00e1ch t\u1ef1 nhi\u00ean b\u1eb1ng ng\u00f4n ng\u1eef c\u1ee7a h\u1ecd, thay v\u00ec ph\u1ea3i \u0111\u1ed1i m\u1eb7t v\u1edbi nh\u1eefng m\u00e3 m\u00e1y kh\u00f3 hi\u1ec3u.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ung-dung-trong-viec-quan-ly-va-lam-viec-voi-du-lieu-thuc-te\"><\/span>\u1ee8ng d\u1ee5ng trong vi\u1ec7c qu\u1ea3n l\u00fd v\u00e0 l\u00e0m vi\u1ec7c v\u1edbi d\u1eef li\u1ec7u th\u1ef1c t\u1ebf<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>D\u1eef li\u1ec7u trong th\u1ebf gi\u1edbi th\u1ef1c r\u1ea5t \u0111a d\u1ea1ng, v\u00e0 ph\u1ea7n l\u1edbn ch\u00fang t\u1ed3n t\u1ea1i d\u01b0\u1edbi d\u1ea1ng v\u0103n b\u1ea3n ho\u1eb7c c\u1ea7n \u0111\u01b0\u1ee3c m\u00f4 t\u1ea3 b\u1eb1ng v\u0103n b\u1ea3n. String gi\u00fap bi\u1ec3u di\u1ec5n c\u00e1c lo\u1ea1i d\u1eef li\u1ec7u n\u00e0y m\u1ed9t c\u00e1ch linh ho\u1ea1t. V\u00ed d\u1ee5, m\u1ed9t m\u00e3 s\u1ea3n ph\u1ea9m c\u00f3 th\u1ec3 ch\u1ee9a c\u1ea3 ch\u1eef v\u00e0 s\u1ed1 (&#8220;SP001&#8221;), \u0111\u1ecba ch\u1ec9 nh\u00e0 (&#8220;123 \u0110\u01b0\u1eddng ABC, Qu\u1eadn 1&#8221;)&#8230;<\/p>\n<p>Trong c\u00e1c <strong>c\u01a1 s\u1edf d\u1eef li\u1ec7u (database)<\/strong>, string l\u00e0 m\u1ed9t trong nh\u1eefng ki\u1ec3u d\u1eef li\u1ec7u c\u1ed9t (column type) \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng nhi\u1ec1u nh\u1ea5t \u0111\u1ec3 l\u01b0u tr\u1eef c\u00e1c th\u00f4ng tin nh\u01b0 t\u00ean, email, m\u00f4 t\u1ea3 s\u1ea3n ph\u1ea9m, \u0111\u1ecba ch\u1ec9, s\u1ed1 \u0111i\u1ec7n tho\u1ea1i (d\u00f9 l\u00e0 s\u1ed1 nh\u01b0ng th\u01b0\u1eddng l\u01b0u d\u1ea1ng string \u0111\u1ec3 gi\u1eef s\u1ed1 0 \u1edf \u0111\u1ea7u ho\u1eb7c c\u00e1c k\u00fd t\u1ef1 \u0111\u1eb7c bi\u1ec7t).<\/p>\n<p>Khi l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c t\u1ec7p tin nh\u01b0 CSV, JSON, XML \u2013 nh\u1eefng \u0111\u1ecbnh d\u1ea1ng ph\u1ed5 bi\u1ebfn \u0111\u1ec3 trao \u0111\u1ed5i d\u1eef li\u1ec7u \u2013 b\u1ea1n c\u0169ng s\u1ebd th\u1ea5y string xu\u1ea5t hi\u1ec7n d\u00e0y \u0111\u1eb7c. Vi\u1ec7c \u0111\u1ecdc, ph\u00e2n t\u00edch c\u00fa ph\u00e1p (parsing) v\u00e0 tr\u00edch xu\u1ea5t th\u00f4ng tin t\u1eeb c\u00e1c t\u1ec7p n\u00e0y ch\u1ee7 y\u1ebfu l\u00e0 c\u00e1c thao t\u00e1c x\u1eed l\u00fd string.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Cach-String-hoat-dong-Bieu-dien-va-Cu-phap-khai-bao\"><\/span>C\u00e1ch String ho\u1ea1t \u0111\u1ed9ng: Bi\u1ec3u di\u1ec5n v\u00e0 C\u00fa ph\u00e1p khai b\u00e1o<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Gi\u1edd h\u00e3y c\u00f9ng t\u00ecm hi\u1ec3u c\u00e1ch ch\u00fang ta &#8220;t\u1ea1o ra&#8221; v\u00e0 bi\u1ec3u di\u1ec5n m\u1ed9t string trong code nh\u00e9. N\u1eafm v\u1eefng c\u00fa ph\u00e1p l\u00e0 \u0111i\u1ec1u c\u1ea7n thi\u1ebft \u0111\u1ec3 b\u1ea1n c\u00f3 th\u1ec3 b\u1eaft \u0111\u1ea7u s\u1eed d\u1ee5ng string.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Khai-bao-String-Suc-manh-cua-cap-dau-nhay-don-%E2%80%98-%E2%80%98-va-nhay-kep-%E2%80%9D-%E2%80%9C\"><\/span>Khai b\u00e1o String: S\u1ee9c m\u1ea1nh c\u1ee7a c\u1eb7p d\u1ea5u nh\u00e1y \u0111\u01a1n (&#8216; &#8216;) v\u00e0 nh\u00e1y k\u00e9p (&#8221; &#8220;)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>C\u00e1ch ph\u1ed5 bi\u1ebfn nh\u1ea5t \u0111\u1ec3 b\u00e1o cho m\u00e1y t\u00ednh bi\u1ebft &#8220;\u0111\u00e2y l\u00e0 m\u1ed9t string&#8221; l\u00e0 \u0111\u1eb7t n\u1ed9i dung v\u0103n b\u1ea3n v\u00e0o gi\u1eefa m\u1ed9t c\u1eb7p <strong>d\u1ea5u nh\u00e1y \u0111\u01a1n (&#8216; &#8216;)<\/strong> ho\u1eb7c m\u1ed9t c\u1eb7p <strong>d\u1ea5u nh\u00e1y k\u00e9p (&#8221; &#8220;)<\/strong>. H\u1ea7u h\u1ebft c\u00e1c ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh hi\u1ec7n \u0111\u1ea1i nh\u01b0 Python, JavaScript, Java, C# \u0111\u1ec1u h\u1ed7 tr\u1ee3 c\u1ea3 hai c\u00e1ch n\u00e0y.<\/p>\n<p>V\u00ed d\u1ee5, \u0111\u1ec3 t\u1ea1o m\u1ed9t string ch\u1ee9a l\u1eddi ch\u00e0o, b\u1ea1n c\u00f3 th\u1ec3 vi\u1ebft: <code>loi_chao_1 = 'Xin ch\u00e0o!'<\/code> Ho\u1eb7c: <code>loi_chao_2 = \"Ch\u00e0o m\u1eebng b\u1ea1n \u0111\u1ebfn v\u1edbi l\u1eadp tr\u00ecnh!\"<\/code><\/p>\n<p>C\u1ea3 hai c\u00e1ch tr\u00ean \u0111\u1ec1u h\u1ee3p l\u1ec7 v\u00e0 t\u1ea1o ra c\u00e1c bi\u1ebfn (<code>loi_chao_1<\/code>, <code>loi_chao_2<\/code>) ch\u1ee9a gi\u00e1 tr\u1ecb ki\u1ec3u string. Vi\u1ec7c l\u1ef1a ch\u1ecdn d\u00f9ng nh\u00e1y \u0111\u01a1n hay nh\u00e1y k\u00e9p th\u01b0\u1eddng ph\u1ee5 thu\u1ed9c v\u00e0o s\u1edf th\u00edch c\u00e1 nh\u00e2n ho\u1eb7c quy \u01b0\u1edbc c\u1ee7a nh\u00f3m l\u00e0m vi\u1ec7c (coding convention).<\/p>\n<p>M\u1ed9t l\u1ee3i \u00edch c\u1ee7a vi\u1ec7c h\u1ed7 tr\u1ee3 c\u1ea3 hai lo\u1ea1i d\u1ea5u nh\u00e1y l\u00e0 s\u1ef1 linh ho\u1ea1t. N\u1ebfu string c\u1ee7a b\u1ea1n c\u1ea7n ch\u1ee9a d\u1ea5u nh\u00e1y \u0111\u01a1n, b\u1ea1n c\u00f3 th\u1ec3 bao n\u00f3 b\u1eb1ng d\u1ea5u nh\u00e1y k\u00e9p v\u00e0 ng\u01b0\u1ee3c l\u1ea1i. V\u00ed d\u1ee5: <code>\"\u0110\u00e2y l\u00e0 c\u00e2u n\u00f3i 'quan tr\u1ecdng'\"<\/code> ho\u1eb7c <code>'Anh \u1ea5y n\u00f3i: \"Tuy\u1ec7t v\u1eddi!\"'<\/code>. \u0110i\u1ec1u n\u00e0y gi\u00fap tr\u00e1nh l\u1ed7i c\u00fa ph\u00e1p.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ben-trong-String-Tim-hieu-ve-Ky-tu-dac-biet-Escape-Characters-%E2%80%93-Giai-thich-don-gian\"><\/span>B\u00ean trong String: T\u00ecm hi\u1ec3u v\u1ec1 K\u00fd t\u1ef1 \u0111\u1eb7c bi\u1ec7t (Escape Characters) &#8211; <i>Gi\u1ea3i th\u00edch \u0111\u01a1n gi\u1ea3n<\/i><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u00f4i khi, b\u1ea1n mu\u1ed1n \u0111\u01b0a v\u00e0o string nh\u1eefng k\u00fd t\u1ef1 m\u00e0 b\u1ea3n th\u00e2n ch\u00fang c\u00f3 \u00fd ngh\u0129a \u0111\u1eb7c bi\u1ec7t trong c\u00fa ph\u00e1p, v\u00ed d\u1ee5 nh\u01b0 ch\u00ednh d\u1ea5u nh\u00e1y \u0111\u01a1n\/k\u00e9p, ho\u1eb7c c\u00e1c k\u00fd t\u1ef1 \u0111i\u1ec1u khi\u1ec3n nh\u01b0 d\u1ea5u xu\u1ed1ng d\u00f2ng. L\u00fac n\u00e0y, <strong>k\u00fd t\u1ef1 tho\u00e1t (escape character)<\/strong> s\u1ebd ra tay c\u1ee9u gi\u00fap.<\/p>\n<p>K\u00fd t\u1ef1 tho\u00e1t ph\u1ed5 bi\u1ebfn nh\u1ea5t l\u00e0 d\u1ea5u g\u1ea1ch ch\u00e9o ng\u01b0\u1ee3c (<code>\\<\/code>). Khi \u0111\u1eb7t <code>\\<\/code> tr\u01b0\u1edbc m\u1ed9t k\u00fd t\u1ef1 \u0111\u1eb7c bi\u1ec7t, n\u00f3 s\u1ebd b\u00e1o cho tr\u00ecnh bi\u00ean d\u1ecbch\/th\u00f4ng d\u1ecbch &#8220;h\u00e3y xem k\u00fd t\u1ef1 ti\u1ebfp theo nh\u01b0 m\u1ed9t k\u00fd t\u1ef1 b\u00ecnh th\u01b0\u1eddng, \u0111\u1eebng hi\u1ec3u theo ngh\u0129a \u0111\u1eb7c bi\u1ec7t c\u1ee7a n\u00f3&#8221;.<\/p>\n<p>V\u00ed d\u1ee5, n\u1ebfu mu\u1ed1n \u0111\u1eb7t d\u1ea5u nh\u00e1y k\u00e9p b\u00ean trong m\u1ed9t string \u0111\u01b0\u1ee3c bao b\u1edfi d\u1ea5u nh\u00e1y k\u00e9p, b\u1ea1n d\u00f9ng <code>\\\"<\/code>: <code>cau_noi = \"Anh \u1ea5y n\u00f3i: \\\"Tuy\u1ec7t v\u1eddi!\\\"\"<\/code> M\u1ed9t s\u1ed1 k\u00fd t\u1ef1 tho\u00e1t th\u00f4ng d\u1ee5ng kh\u00e1c l\u00e0 <code>\\n<\/code> (xu\u1ed1ng d\u00f2ng m\u1edbi &#8211; newline) v\u00e0 <code>\\t<\/code> (t\u1ea1o m\u1ed9t kho\u1ea3ng tab).<\/p>\n<p>V\u00ed d\u1ee5 s\u1eed d\u1ee5ng <code>\\n<\/code>: <code>thong_bao = \"D\u00f2ng 1\\nD\u00f2ng 2\"<\/code> Khi in <code>thong_bao<\/code> ra m\u00e0n h\u00ecnh, b\u1ea1n s\u1ebd th\u1ea5y hai d\u00f2ng ri\u00eang bi\u1ec7t. K\u00fd t\u1ef1 tho\u00e1t gi\u00fap b\u1ea1n ki\u1ec3m so\u00e1t \u0111\u1ecbnh d\u1ea1ng v\u00e0 n\u1ed9i dung c\u1ee7a string m\u1ed9t c\u00e1ch ch\u00ednh x\u00e1c h\u01a1n.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"String-co-thay-doi-duoc-khong-Khai-niem-ve-tinh-bat-bien-Immutability-%E2%80%93-Giai-thich-de-hieu\"><\/span>String c\u00f3 thay \u0111\u1ed5i \u0111\u01b0\u1ee3c kh\u00f4ng? Kh\u00e1i ni\u1ec7m v\u1ec1 t\u00ednh b\u1ea5t bi\u1ebfn (Immutability) &#8211; <i>Gi\u1ea3i th\u00edch d\u1ec5 hi\u1ec3u<\/i><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>M\u1ed9t \u0111\u1eb7c t\u00ednh quan tr\u1ecdng c\u1ee7a string trong nhi\u1ec1u ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh ph\u1ed5 bi\u1ebfn nh\u01b0 Python, Java, C# v\u00e0 JavaScript l\u00e0 <strong>t\u00ednh b\u1ea5t bi\u1ebfn (immutability)<\/strong>. \u0110i\u1ec1u n\u00e0y c\u00f3 ngh\u0129a l\u00e0 m\u1ed9t khi string \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea1o ra, b\u1ea1n kh\u00f4ng th\u1ec3 thay \u0111\u1ed5i n\u1ed9i dung c\u1ee7a n\u00f3 <i>t\u1ea1i ch\u00ednh v\u1ecb tr\u00ed \u0111\u00f3 trong b\u1ed9 nh\u1edb<\/i>.<\/p>\n<p>Nghe c\u00f3 v\u1ebb l\u1ea1 ph\u1ea3i kh\u00f4ng? N\u1ebfu b\u1ea1n mu\u1ed1n &#8220;s\u1eeda \u0111\u1ed5i&#8221; m\u1ed9t string, v\u00ed d\u1ee5 nh\u01b0 \u0111\u1ed5i m\u1ed9t k\u00fd t\u1ef1, \u0111i\u1ec1u th\u1ef1c s\u1ef1 x\u1ea3y ra l\u00e0 ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh s\u1ebd t\u1ea1o ra m\u1ed9t string <i>m\u1edbi<\/i> v\u1edbi n\u1ed9i dung \u0111\u00e3 thay \u0111\u1ed5i, v\u00e0 bi\u1ebfn c\u1ee7a b\u1ea1n s\u1ebd tr\u1ecf \u0111\u1ebfn string m\u1edbi n\u00e0y. String g\u1ed1c ban \u0111\u1ea7u v\u1eabn c\u00f2n nguy\u00ean v\u1eb9n (cho \u0111\u1ebfn khi kh\u00f4ng c\u00f2n bi\u1ebfn n\u00e0o tr\u1ecf t\u1edbi v\u00e0 b\u1ecb thu d\u1ecdn b\u1ed9 nh\u1edb).<\/p>\n<p>H\u00e3y xem v\u00ed d\u1ee5 trong Python: <code>s = \"hello\"<\/code> <code>s = s + \" world\"<\/code> # Thao t\u00e1c n\u00e0y kh\u00f4ng s\u1eeda \u0111\u1ed5i &#8220;hello&#8221;<\/p>\n<pre><code class=\"language-plaintext\">               # N\u00f3 t\u1ea1o ra string m\u1edbi \"hello world\" v\u00e0 g\u00e1n l\u1ea1i cho s\r\n<\/code><\/pre>\n<p>T\u1ea1i sao l\u1ea1i c\u00f3 t\u00ednh b\u1ea5t bi\u1ebfn? N\u00f3 mang l\u1ea1i m\u1ed9t s\u1ed1 l\u1ee3i \u00edch v\u1ec1 hi\u1ec7u n\u0103ng v\u00e0 \u0111\u1ed9 an to\u00e0n trong c\u00e1c m\u00f4i tr\u01b0\u1eddng \u0111a lu\u1ed3ng (multi-threading), \u0111\u1ed3ng th\u1eddi gi\u00fap vi\u1ec7c qu\u1ea3n l\u00fd b\u1ed9 nh\u1edb hi\u1ec7u qu\u1ea3 h\u01a1n trong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p. D\u00f9 b\u1ea1n kh\u00f4ng c\u1ea7n hi\u1ec3u s\u00e2u ngay, h\u00e3y nh\u1edb r\u1eb1ng string th\u01b0\u1eddng kh\u00f4ng th\u1ec3 b\u1ecb &#8220;s\u1eeda t\u1ea1i ch\u1ed7&#8221;.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Vi-du-String-trong-cac-ngon-ngu-lap-trinh-pho-bien\"><\/span>V\u00ed d\u1ee5 String trong c\u00e1c ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh ph\u1ed5 bi\u1ebfn<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>L\u00fd thuy\u1ebft l\u00e0 v\u1eady, gi\u1edd h\u00e3y xem c\u00e1ch khai b\u00e1o v\u00e0 s\u1eed d\u1ee5ng string c\u01a1 b\u1ea3n trong m\u1ed9t v\u00e0i ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh th\u00f4ng d\u1ee5ng nh\u00e9. C\u00e1c v\u00ed d\u1ee5 n\u00e0y s\u1ebd gi\u00fap b\u1ea1n h\u00ecnh dung r\u00f5 h\u01a1n.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Vi-du-ve-cach-khai-bao-va-su-dung-String-trong-Python\"><\/span>V\u00ed d\u1ee5 v\u1ec1 c\u00e1ch khai b\u00e1o v\u00e0 s\u1eed d\u1ee5ng String trong Python<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Python r\u1ea5t linh ho\u1ea1t v\u1edbi string. B\u1ea1n c\u00f3 th\u1ec3 d\u00f9ng nh\u00e1y \u0111\u01a1n ho\u1eb7c k\u00e9p. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 c\u00e1ch khai b\u00e1o v\u00e0 in m\u1ed9t string:<\/p>\n<pre><code class=\"language-plaintext\"># Khai b\u00e1o string b\u1eb1ng nh\u00e1y k\u00e9p\r\nten_sach = \"L\u1eadp tr\u00ecnh Python c\u01a1 b\u1ea3n\"\r\n# Khai b\u00e1o string b\u1eb1ng nh\u00e1y \u0111\u01a1n\r\ntac_gia = 'Nguy\u1ec5n V\u0103n A'\r\n# In gi\u00e1 tr\u1ecb string ra m\u00e0n h\u00ecnh\r\nprint(ten_sach) print(\"T\u00e1c gi\u1ea3:\", tac_gia)\r\n# String nhi\u1ec1u d\u00f2ng (d\u00f9ng 3 d\u1ea5u nh\u00e1y k\u00e9p ho\u1eb7c \u0111\u01a1n)\r\nmo_ta = \"\"\"\u0110\u00e2y l\u00e0 cu\u1ed1n s\u00e1ch d\u00e0nh cho ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u h\u1ecdc l\u1eadp tr\u00ecnh Python.\"\"\" print(mo_ta)<\/code><\/pre>\n<p>K\u1ebft qu\u1ea3 khi ch\u1ea1y \u0111o\u1ea1n code tr\u00ean s\u1ebd l\u00e0:<\/p>\n<pre><code class=\"language-plaintext\">L\u1eadp tr\u00ecnh Python c\u01a1 b\u1ea3n\r\nT\u00e1c gi\u1ea3: Nguy\u1ec5n V\u0103n A\r\n\u0110\u00e2y l\u00e0 cu\u1ed1n s\u00e1ch\r\nd\u00e0nh cho ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u\r\nh\u1ecdc l\u1eadp tr\u00ecnh Python.\r\n<\/code><\/pre>\n<p>Python l\u00e0m vi\u1ec7c v\u1edbi string r\u1ea5t tr\u1ef1c quan v\u00e0 d\u1ec5 d\u00e0ng, l\u00e0 l\u1ef1a ch\u1ecdn t\u1ed1t cho ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Vi-du-ve-cach-khai-bao-va-su-dung-String-trong-JavaScript\"><\/span>V\u00ed d\u1ee5 v\u1ec1 c\u00e1ch khai b\u00e1o v\u00e0 s\u1eed d\u1ee5ng String trong JavaScript<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>JavaScript, ng\u00f4n ng\u1eef ch\u1ee7 \u0111\u1ea1o c\u1ee7a ph\u00e1t tri\u1ec3n web front-end, c\u0169ng r\u1ea5t m\u1ea1nh m\u1ebd trong vi\u1ec7c x\u1eed l\u00fd string. C\u00fa ph\u00e1p khai b\u00e1o t\u01b0\u01a1ng t\u1ef1 Python.<\/p>\n<p>JavaScript<\/p>\n<pre><code class=\"language-plaintext\">\/\/ Khai b\u00e1o string b\u1eb1ng nh\u00e1y k\u00e9p\r\nlet loiChao = \"Ch\u00e0o m\u1eebng b\u1ea1n \u0111\u1ebfn v\u1edbi JavaScript!\";\r\n\r\n\/\/ Khai b\u00e1o string b\u1eb1ng nh\u00e1y \u0111\u01a1n\r\nconst tenWebsite = 'Website H\u1ecdc L\u1eadp Tr\u00ecnh';\r\n\r\n\/\/ In ra console c\u1ee7a tr\u00ecnh duy\u1ec7t ho\u1eb7c m\u00f4i tr\u01b0\u1eddng Node.js\r\nconsole.log(loiChao);\r\nconsole.log(\"T\u00ean website:\", tenWebsite);\r\n\r\n\/\/ <a href=\"https:\/\/interdata.vn\/blog\/templates-la-gi\/\">Template<\/a> literals (d\u00f9ng d\u1ea5u ` `) cho ph\u00e9p n\u1ed9i suy bi\u1ebfn v\u00e0 vi\u1ebft nhi\u1ec1u d\u00f2ng\r\nlet ngonNgu = \"JavaScript\";\r\nlet gioiThieu = `B\u1ea1n \u0111ang h\u1ecdc v\u1ec1 String trong ${ngonNgu}.\r\n\u0110\u00e2y l\u00e0 m\u1ed9t kh\u00e1i ni\u1ec7m quan tr\u1ecdng.`;\r\nconsole.log(gioiThieu);\r\n<\/code><\/pre>\n<p>K\u1ebft qu\u1ea3 trong console s\u1ebd t\u01b0\u01a1ng t\u1ef1:<\/p>\n<pre><code class=\"language-plaintext\">Ch\u00e0o m\u1eebng b\u1ea1n \u0111\u1ebfn v\u1edbi JavaScript!\r\nT\u00ean website: Website H\u1ecdc L\u1eadp Tr\u00ecnh\r\nB\u1ea1n \u0111ang h\u1ecdc v\u1ec1 String trong JavaScript.\r\n\u0110\u00e2y l\u00e0 m\u1ed9t kh\u00e1i ni\u1ec7m quan tr\u1ecdng.\r\n<\/code><\/pre>\n<p>JavaScript c\u00f2n c\u00f3 <i>template literals<\/i> (d\u1ea5u <code>`<\/code>) r\u1ea5t ti\u1ec7n l\u1ee3i.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Vi-du-ve-cach-khai-bao-va-su-dung-String-trong-Java-hoac-C\"><\/span>V\u00ed d\u1ee5 v\u1ec1 c\u00e1ch khai b\u00e1o v\u00e0 s\u1eed d\u1ee5ng String trong Java (ho\u1eb7c C#)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Java v\u00e0 C# l\u00e0 c\u00e1c ng\u00f4n ng\u1eef h\u01b0\u1edbng \u0111\u1ed1i t\u01b0\u1ee3ng m\u1ea1nh m\u1ebd, th\u01b0\u1eddng d\u00f9ng trong c\u00e1c \u1ee9ng d\u1ee5ng l\u1edbn. C\u00e1ch khai b\u00e1o string c\u0169ng r\u00f5 r\u00e0ng, nh\u01b0ng c\u1ea7n ch\u00fa \u00fd ki\u1ec3u d\u1eef li\u1ec7u.<\/p>\n<p><strong>V\u00ed d\u1ee5 trong Java:<\/strong><\/p>\n<pre><code class=\"language-plaintext\">\/\/ Khai b\u00e1o bi\u1ebfn ki\u1ec3u String (l\u01b0u \u00fd ch\u1eef S vi\u1ebft hoa)\r\nString thongDiep = \"Hello t\u1eeb Java!\";\r\nString ngonNgu = \"Java\";\r\n\r\n\/\/ In ra m\u00e0n h\u00ecnh console\r\nSystem.out.println(thongDiep);\r\nSystem.out.println(\"Ng\u00f4n ng\u1eef: \" + ngonNgu); \/\/ D\u00f9ng + \u0111\u1ec3 n\u1ed1i chu\u1ed7i\r\n\r\n\/\/ Khai b\u00e1o m\u1ed9t string kh\u00e1c\r\nString moTa = new String(\"String trong Java l\u00e0 m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng.\");\r\nSystem.out.println(moTa);\r\n<\/code><\/pre>\n<p><strong>V\u00ed d\u1ee5 t\u01b0\u01a1ng t\u1ef1 trong C#:<\/strong><\/p>\n<pre><code class=\"language-plaintext\">\/\/ Khai b\u00e1o bi\u1ebfn ki\u1ec3u string (ch\u1eef s th\u01b0\u1eddng)\r\nstring loiNhan = \"Xin ch\u00e0o t\u1eeb C#!\";\r\nstring phienBan = \"C# 10\";\r\n\r\n\/\/ In ra m\u00e0n h\u00ecnh console\r\nConsole.WriteLine(loiNhan);\r\nConsole.WriteLine(\"Phi\u00ean b\u1ea3n: \" + phienBan); \/\/ D\u00f9ng + \u0111\u1ec3 n\u1ed1i chu\u1ed7i\r\n\r\n\/\/ String interpolation v\u1edbi d\u1ea5u $\r\nConsole.WriteLine($\"B\u1ea1n \u0111ang h\u1ecdc v\u1ec1 string trong {phienBan}.\");\r\n<\/code><\/pre>\n<p>K\u1ebft qu\u1ea3 output ra console c\u1ee7a c\u1ea3 Java v\u00e0 C# s\u1ebd hi\u1ec3n th\u1ecb c\u00e1c d\u00f2ng ch\u1eef t\u01b0\u01a1ng \u1ee9ng. L\u01b0u \u00fd c\u00e1ch khai b\u00e1o ki\u1ec3u <code>String<\/code> (Java) v\u00e0 <code>string<\/code> (C#) v\u00e0 c\u00e1ch n\u1ed1i chu\u1ed7i.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Lam-quen-voi-cac-thao-tac-co-ban-tren-String\"><\/span>L\u00e0m quen v\u1edbi c\u00e1c thao t\u00e1c c\u01a1 b\u1ea3n tr\u00ean String<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Khi \u0111\u00e3 c\u00f3 string r\u1ed3i, b\u1ea1n c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n nhi\u1ec1u thao t\u00e1c h\u1eefu \u00edch v\u1edbi ch\u00fang. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 m\u1ed9t v\u00e0i ph\u00e9p to\u00e1n c\u01a1 b\u1ea3n nh\u1ea5t m\u00e0 b\u1ea1n s\u1ebd th\u01b0\u1eddng xuy\u00ean g\u1eb7p.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ghep-noi-cac-chuoi-lai-voi-nhau-Noi-chuoi-%E2%80%93-Concatenation\"><\/span>Gh\u00e9p n\u1ed1i c\u00e1c chu\u1ed7i l\u1ea1i v\u1edbi nhau (N\u1ed1i chu\u1ed7i &#8211; Concatenation)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u00e2y l\u00e0 thao t\u00e1c k\u1ebft h\u1ee3p hai hay nhi\u1ec1u string l\u1ea1i th\u00e0nh m\u1ed9t string d\u00e0i h\u01a1n. H\u1ea7u h\u1ebft c\u00e1c ng\u00f4n ng\u1eef s\u1eed d\u1ee5ng to\u00e1n t\u1eed <code>+<\/code> \u0111\u1ec3 th\u1ef1c hi\u1ec7n vi\u1ec7c n\u00e0y. H\u00e3y xem v\u00ed d\u1ee5:<\/p>\n<p><strong>Trong Python:<\/strong><\/p>\n<pre><code class=\"language-plaintext\">ho = \"Nguy\u1ec5n\"\r\nten = \"An\"\r\nkhoang_trang = \" \"\r\nho_ten = ho + khoang_trang + ten\r\nprint(ho_ten) # K\u1ebft qu\u1ea3: Nguy\u1ec5n An\r\n<\/code><\/pre>\n<p><strong>Trong JavaScript:<\/strong><\/p>\n<pre><code class=\"language-plaintext\">let str1 = \"H\u1ecdc \";\r\nlet str2 = \"l\u1eadp tr\u00ecnh \";\r\nlet str3 = \"r\u1ea5t vui!\";\r\nlet ket_qua = str1 + str2 + str3;\r\nconsole.log(ket_qua); \/\/ K\u1ebft qu\u1ea3: H\u1ecdc l\u1eadp tr\u00ecnh r\u1ea5t vui!\r\n<\/code><\/pre>\n<p>Vi\u1ec7c n\u1ed1i chu\u1ed7i r\u1ea5t h\u1eefu \u00edch khi b\u1ea1n c\u1ea7n x\u00e2y d\u1ef1ng c\u00e1c th\u00f4ng \u0111i\u1ec7p \u0111\u1ed9ng t\u1eeb nhi\u1ec1u ph\u1ea7n th\u00f4ng tin kh\u00e1c nhau.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Do-do-dai-cua-mot-chuoi-Lay-chieu-dai-%E2%80%93-Length\"><\/span>\u0110o \u0111\u1ed9 d\u00e0i c\u1ee7a m\u1ed9t chu\u1ed7i (L\u1ea5y chi\u1ec1u d\u00e0i &#8211; Length)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>B\u1ea1n th\u01b0\u1eddng c\u1ea7n bi\u1ebft m\u1ed9t string c\u00f3 bao nhi\u00eau k\u00fd t\u1ef1. H\u1ea7u h\u1ebft c\u00e1c ng\u00f4n ng\u1eef cung c\u1ea5p m\u1ed9t thu\u1ed9c t\u00ednh ho\u1eb7c h\u00e0m \u0111\u1ec3 l\u1ea5y <strong>\u0111\u1ed9 d\u00e0i (length)<\/strong> c\u1ee7a string.<\/p>\n<p><strong>Trong Python:<\/strong> D\u00f9ng h\u00e0m <code>len()<\/code><\/p>\n<pre><code class=\"language-plaintext\">s = \"Hello\"\r\ndo_dai = len(s)\r\nprint(do_dai) # K\u1ebft qu\u1ea3: 5\r\n<\/code><\/pre>\n<p><strong>Trong JavaScript:<\/strong> D\u00f9ng thu\u1ed9c t\u00ednh <code>.length<\/code><\/p>\n<pre><code class=\"language-plaintext\">let message = \"Xin ch\u00e0o\";\r\nlet len = message.length;\r\nconsole.log(len); \/\/ K\u1ebft qu\u1ea3: 8 (t\u00ednh c\u1ea3 d\u1ea5u c\u00e1ch)\r\n<\/code><\/pre>\n<p><strong>Trong Java:<\/strong> D\u00f9ng ph\u01b0\u01a1ng th\u1ee9c <code>.length()<\/code><\/p>\n<pre><code class=\"language-plaintext\">String text = \"Java\";\r\nint length = text.length();\r\nSystem.out.println(length); \/\/ K\u1ebft qu\u1ea3: 4\r\n<\/code><\/pre>\n<p>Bi\u1ebft \u0111\u1ed9 d\u00e0i chu\u1ed7i r\u1ea5t quan tr\u1ecdng trong nhi\u1ec1u <a href=\"https:\/\/interdata.vn\/blog\/thuat-toan-algorithm\/\">thu\u1eadt to\u00e1n<\/a> x\u1eed l\u00fd v\u0103n b\u1ea3n.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Lay-ra-mot-ky-tu-cu-the-trong-chuoi-Truy-cap-phan-tu-%E2%80%93-Indexing-%E2%80%93-Vi-du-don-gian\"><\/span>L\u1ea5y ra m\u1ed9t k\u00fd t\u1ef1 c\u1ee5 th\u1ec3 trong chu\u1ed7i (Truy c\u1eadp ph\u1ea7n t\u1eed &#8211; Indexing) &#8211; <i>V\u00ed d\u1ee5 \u0111\u01a1n gi\u1ea3n<\/i><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>V\u00ec string l\u00e0 m\u1ed9t d\u00e3y c\u00e1c k\u00fd t\u1ef1, b\u1ea1n c\u00f3 th\u1ec3 truy c\u1eadp v\u00e0o t\u1eebng k\u00fd t\u1ef1 ri\u00eang l\u1ebb b\u00ean trong n\u00f3 th\u00f4ng qua <strong>ch\u1ec9 m\u1ee5c (index)<\/strong>. Ch\u1ec9 m\u1ee5c l\u00e0 v\u1ecb tr\u00ed c\u1ee7a k\u00fd t\u1ef1, v\u00e0 \u0111i\u1ec1u quan tr\u1ecdng c\u1ea7n nh\u1edb: <strong>ch\u1ec9 m\u1ee5c th\u01b0\u1eddng b\u1eaft \u0111\u1ea7u t\u1eeb 0<\/strong>, kh\u00f4ng ph\u1ea3i 1.<\/p>\n<p><strong>Trong Python:<\/strong> D\u00f9ng d\u1ea5u ngo\u1eb7c vu\u00f4ng <code>[]<\/code><\/p>\n<pre><code class=\"language-plaintext\">my_string = \"Code\"\r\nky_tu_dau = my_string[0] # L\u1ea5y k\u00fd t\u1ef1 \u1edf v\u1ecb tr\u00ed 0\r\nky_tu_cuoi = my_string[3] # L\u1ea5y k\u00fd t\u1ef1 \u1edf v\u1ecb tr\u00ed 3\r\n\r\nprint(ky_tu_dau)  # K\u1ebft qu\u1ea3: C\r\nprint(ky_tu_cuoi) # K\u1ebft qu\u1ea3: e\r\n# print(my_string[4]) # S\u1ebd g\u00e2y l\u1ed7i IndexError v\u00ec ch\u1ec9 m\u1ee5c ngo\u00e0i ph\u1ea1m vi\r\n<\/code><\/pre>\n<p><strong>Trong JavaScript:<\/strong> C\u0169ng d\u00f9ng <code>[]<\/code><\/p>\n<pre><code class=\"language-plaintext\">let word = \"Script\";\r\nlet char1 = word[0]; \/\/ L\u1ea5y k\u00fd t\u1ef1 'S'\r\nlet char3 = word[2]; \/\/ L\u1ea5y k\u00fd t\u1ef1 'r'\r\n\r\nconsole.log(char1); \/\/ K\u1ebft qu\u1ea3: S\r\nconsole.log(char3); \/\/ K\u1ebft qu\u1ea3: r\r\n<\/code><\/pre>\n<p>Truy c\u1eadp theo ch\u1ec9 m\u1ee5c cho ph\u00e9p b\u1ea1n ki\u1ec3m tra ho\u1eb7c tr\u00edch xu\u1ea5t nh\u1eefng ph\u1ea7n c\u1ee5 th\u1ec3 c\u1ee7a m\u1ed9t string.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Meo-va-Luu-y-quan-trong-khi-lam-viec-voi-String-cho-nguoi-moi\"><\/span>M\u1eb9o v\u00e0 L\u01b0u \u00fd quan tr\u1ecdng khi l\u00e0m vi\u1ec7c v\u1edbi String cho ng\u01b0\u1eddi m\u1edbi<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Khi b\u1eaft \u0111\u1ea7u l\u00e0m vi\u1ec7c v\u1edbi string, c\u00f3 m\u1ed9t v\u00e0i \u0111i\u1ec3m b\u1ea1n c\u1ea7n l\u01b0u \u00fd \u0111\u1ec3 tr\u00e1nh nh\u1eefng l\u1ed7i ph\u1ed5 bi\u1ebfn v\u00e0 vi\u1ebft code t\u1ed1t h\u01a1n.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Coi-chung-String-phan-biet-chu-hoa-va-chu-thuong\"><\/span>Coi ch\u1eebng! String ph\u00e2n bi\u1ec7t ch\u1eef hoa v\u00e0 ch\u1eef th\u01b0\u1eddng<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u00e2y l\u00e0 m\u1ed9t l\u1ed7i r\u1ea5t hay g\u1eb7p. Trong h\u1ea7u h\u1ebft c\u00e1c ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh, string c\u00f3 <strong>ph\u00e2n bi\u1ec7t ch\u1eef hoa v\u00e0 ch\u1eef th\u01b0\u1eddng (case-sensitive)<\/strong>. \u0110i\u1ec1u n\u00e0y ngh\u0129a l\u00e0 <code>\"hello\"<\/code> v\u00e0 <code>\"Hello\"<\/code> \u0111\u01b0\u1ee3c coi l\u00e0 hai string ho\u00e0n to\u00e0n kh\u00e1c nhau.<\/p>\n<p>Khi b\u1ea1n so s\u00e1nh hai string, v\u00ed d\u1ee5 \u0111\u1ec3 ki\u1ec3m tra m\u1eadt kh\u1ea9u ho\u1eb7c t\u00ecm ki\u1ebfm d\u1eef li\u1ec7u, s\u1ef1 kh\u00e1c bi\u1ec7t v\u1ec1 ch\u1eef hoa\/th\u01b0\u1eddng n\u00e0y s\u1ebd \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn k\u1ebft qu\u1ea3.<\/p>\n<pre><code class=\"language-plaintext\">str_a = \"apple\"\r\nstr_b = \"Apple\"\r\n\r\nprint(str_a == str_b) # K\u1ebft qu\u1ea3: False\r\n<\/code><\/pre>\n<p>N\u1ebfu b\u1ea1n mu\u1ed1n so s\u00e1nh kh\u00f4ng ph\u00e2n bi\u1ec7t hoa th\u01b0\u1eddng, b\u1ea1n th\u01b0\u1eddng c\u1ea7n chuy\u1ec3n c\u1ea3 hai string v\u1ec1 c\u00f9ng m\u1ed9t d\u1ea1ng (v\u00ed d\u1ee5: c\u00f9ng l\u00e0 ch\u1eef th\u01b0\u1eddng ho\u1eb7c c\u00f9ng l\u00e0 ch\u1eef hoa) tr\u01b0\u1edbc khi so s\u00e1nh. Nhi\u1ec1u ng\u00f4n ng\u1eef cung c\u1ea5p c\u00e1c h\u00e0m nh\u01b0 <code>.lower()<\/code> ho\u1eb7c <code>.upper()<\/code> \u0111\u1ec3 l\u00e0m vi\u1ec7c n\u00e0y.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Luon-kiem-tra-kieu-du-lieu-khi-thuc-hien-phep-toan\"><\/span>Lu\u00f4n ki\u1ec3m tra ki\u1ec3u d\u1eef li\u1ec7u khi th\u1ef1c hi\u1ec7n ph\u00e9p to\u00e1n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Nh\u01b0 \u0111\u00e3 \u0111\u1ec1 c\u1eadp, b\u1ea1n kh\u00f4ng th\u1ec3 t\u00f9y ti\u1ec7n k\u1ebft h\u1ee3p string v\u1edbi c\u00e1c ki\u1ec3u d\u1eef li\u1ec7u kh\u00e1c, \u0111\u1eb7c bi\u1ec7t l\u00e0 s\u1ed1, b\u1eb1ng c\u00e1c ph\u00e9p to\u00e1n th\u00f4ng th\u01b0\u1eddng. V\u00ed d\u1ee5, ph\u00e9p c\u1ed9ng <code>+<\/code> c\u00f3 th\u1ec3 mang ngh\u0129a l\u00e0 n\u1ed1i chu\u1ed7i khi d\u00f9ng v\u1edbi string, nh\u01b0ng l\u1ea1i l\u00e0 ph\u00e9p c\u1ed9ng s\u1ed1 h\u1ecdc khi d\u00f9ng v\u1edbi s\u1ed1.<\/p>\n<p>N\u1ebfu b\u1ea1n nh\u1eadn d\u1eef li\u1ec7u t\u1eeb ng\u01b0\u1eddi d\u00f9ng (v\u00ed d\u1ee5: qua \u00f4 nh\u1eadp li\u1ec7u tr\u00ean web), d\u1eef li\u1ec7u \u0111\u00f3 th\u01b0\u1eddng m\u1eb7c \u0111\u1ecbnh \u1edf d\u1ea1ng string, ngay c\u1ea3 khi ng\u01b0\u1eddi d\u00f9ng nh\u1eadp s\u1ed1. N\u1ebfu mu\u1ed1n th\u1ef1c hi\u1ec7n ph\u00e9p to\u00e1n s\u1ed1 h\u1ecdc, b\u1ea1n c\u1ea7n <strong>chuy\u1ec3n \u0111\u1ed5i (convert\/cast)<\/strong> string \u0111\u00f3 sang ki\u1ec3u s\u1ed1 (integer ho\u1eb7c float) tr\u01b0\u1edbc.<\/p>\n<p><strong>V\u00ed d\u1ee5 l\u1ed7i ti\u1ec1m \u1ea9n trong Python:<\/strong><\/p>\n<pre><code class=\"language-plaintext\"># Gi\u1ea3 s\u1eed input_tuoi l\u00e0 \"25\" (d\u1ea1ng string)\r\ninput_tuoi = \"25\"\r\n# tuoi_sau_10_nam = input_tuoi + 10 # S\u1ebd g\u00e2y l\u1ed7i TypeError\r\n\r\n# C\u00e1ch \u0111\u00fang: Chuy\u1ec3n \u0111\u1ed5i sang s\u1ed1 nguy\u00ean tr\u01b0\u1edbc\r\ntuoi_hien_tai = int(input_tuoi)\r\ntuoi_sau_10_nam = tuoi_hien_tai + 10\r\nprint(tuoi_sau_10_nam) # K\u1ebft qu\u1ea3: 35\r\n<\/code><\/pre>\n<p>Lu\u00f4n \u00fd th\u1ee9c v\u1ec1 ki\u1ec3u d\u1eef li\u1ec7u c\u1ee7a c\u00e1c bi\u1ebfn b\u1ea1n \u0111ang l\u00e0m vi\u1ec7c l\u00e0 th\u00f3i quen t\u1ed1t \u0111\u1ec3 tr\u00e1nh l\u1ed7i v\u00e0 \u0111\u1ea3m b\u1ea3o ch\u01b0\u01a1ng tr\u00ecnh ch\u1ea1y \u0111\u00fang logic.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tong-ket-String-la-gi-va-hanh-trang-tiep-theo-cho-ban\"><\/span>T\u1ed5ng k\u1ebft: String l\u00e0 g\u00ec v\u00e0 h\u00e0nh trang ti\u1ebfp theo cho b\u1ea1n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>V\u1eady l\u00e0 ch\u00fang ta \u0111\u00e3 c\u00f9ng nhau kh\u00e1m ph\u00e1 m\u1ed9t v\u00f2ng v\u1ec1 kh\u00e1i ni\u1ec7m string trong l\u1eadp tr\u00ecnh. Hy v\u1ecdng qua b\u00e0i vi\u1ebft n\u00e0y, b\u1ea1n \u0111\u00e3 c\u00f3 c\u00e1i nh\u00ecn r\u00f5 r\u00e0ng h\u01a1n v\u1ec1 m\u1ed9t trong nh\u1eefng &#8220;vi\u00ean g\u1ea1ch&#8221; n\u1ec1n t\u1ea3ng nh\u1ea5t c\u1ee7a th\u1ebf gi\u1edbi code.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Tom-tat-nhung-diem-chinh-can-nho-ve-String\"><\/span>T\u00f3m t\u1eaft nh\u1eefng \u0111i\u1ec3m ch\u00ednh c\u1ea7n nh\u1edb v\u1ec1 String<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>String (chu\u1ed7i k\u00fd t\u1ef1):<\/strong> L\u00e0 ki\u1ec3u d\u1eef li\u1ec7u d\u00f9ng \u0111\u1ec3 bi\u1ec3u di\u1ec5n v\u00e0 l\u01b0u tr\u1eef v\u0103n b\u1ea3n.<\/li>\n<li><strong>B\u1ea3n ch\u1ea5t:<\/strong> L\u00e0 m\u1ed9t d\u00e3y c\u00e1c k\u00fd t\u1ef1 (ch\u1eef c\u00e1i, s\u1ed1, k\u00fd hi\u1ec7u&#8230;) theo th\u1ee9 t\u1ef1 nh\u1ea5t \u0111\u1ecbnh.<\/li>\n<li><strong>C\u00fa ph\u00e1p:<\/strong> Th\u01b0\u1eddng \u0111\u01b0\u1ee3c \u0111\u1eb7t trong d\u1ea5u nh\u00e1y \u0111\u01a1n (<code>' '<\/code>) ho\u1eb7c nh\u00e1y k\u00e9p (<code>\" \"<\/code>).<\/li>\n<li><strong>Quan tr\u1ecdng:<\/strong> D\u00f9ng \u0111\u1ec3 giao ti\u1ebfp ng\u01b0\u1eddi d\u00f9ng, l\u01b0u tr\u1eef d\u1eef li\u1ec7u text, x\u1eed l\u00fd th\u00f4ng tin ch\u1eef vi\u1ebft.<\/li>\n<li><strong>T\u00ednh ch\u1ea5t (th\u01b0\u1eddng g\u1eb7p):<\/strong> B\u1ea5t bi\u1ebfn (immutable), ph\u00e2n bi\u1ec7t ch\u1eef hoa\/th\u01b0\u1eddng.<\/li>\n<li><strong>Thao t\u00e1c c\u01a1 b\u1ea3n:<\/strong> N\u1ed1i chu\u1ed7i (<code>+<\/code>), l\u1ea5y \u0111\u1ed9 d\u00e0i (<code>len<\/code>, <code>.length<\/code>), truy c\u1eadp k\u00fd t\u1ef1 (<code>[]<\/code>).<\/li>\n<\/ul>\n<div style=\"background-color: #e6f2ff; border-radius: 10px; padding: 20px; margin: 20px 0; border: 1px solid #b3d9ff;\">\n<p>Hi\u1ec3u v\u1ec1 string l\u00e0 n\u1ec1n t\u1ea3ng x\u00e2y d\u1ef1ng <a href=\"https:\/\/interdata.vn\/blog\/web-application-la-gi\/\">\u1ee9ng d\u1ee5ng web<\/a> hay c\u00e1c d\u1ef1 \u00e1n l\u1eadp tr\u00ecnh kh\u00e1c. Khi b\u1ea1n s\u1eb5n s\u00e0ng \u0111\u01b0a s\u1ea3n ph\u1ea9m c\u1ee7a m\u00ecnh l\u00ean m\u1ea1ng, m\u1ed9t h\u1ea1 t\u1ea7ng \u1ed5n \u0111\u1ecbnh v\u00e0 t\u1ed1c \u0111\u1ed9 l\u00e0 r\u1ea5t c\u1ea7n thi\u1ebft. H\u00e3y xem qua <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/interdata.vn\/thue-hosting\/\">d\u1ecbch v\u1ee5 Hosting gi\u00e1 r\u1ebb ch\u1ea5t l\u01b0\u1ee3ng uy t\u00edn<\/a> t\u1ea1i InterData, \u0111\u01b0\u1ee3c t\u1ed1i \u01b0u tr\u00ean ph\u1ea7n c\u1ee9ng chuy\u00ean d\u1ee5ng th\u1ebf h\u1ec7 m\u1edbi.<\/p>\n<p>N\u1ebfu d\u1ef1 \u00e1n c\u1ea7n nhi\u1ec1u t\u00e0i nguy\u00ean v\u00e0 kh\u1ea3 n\u0103ng ki\u1ec3m so\u00e1t cao h\u01a1n, <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/interdata.vn\/thue-vps\/\">d\u1ecbch v\u1ee5 VPS gi\u00e1 r\u1ebb uy t\u00edn t\u1ed1c \u0111\u1ed9 cao<\/a> v\u1edbi b\u1ed9 x\u1eed l\u00fd <a href=\"https:\/\/interdata.vn\/blog\/cpu-amd-epyc\/\">AMD EPYC<\/a> Gen 3th m\u1ea1nh m\u1ebd v\u00e0 \u1ed5 c\u1ee9ng SSD NVMe U.2 t\u1ed1c \u0111\u1ed9 cao l\u00e0 l\u1ef1a ch\u1ecdn l\u00fd t\u01b0\u1edfng.<\/p>\n<p>\u0110\u1ed1i v\u1edbi c\u00e1c \u1ee9ng d\u1ee5ng \u0111\u00f2i h\u1ecfi c\u1ea5u h\u00ecnh m\u1ea1nh, <a href=\"https:\/\/interdata.vn\/blog\/bang-thong-la-gi\/\">b\u0103ng th\u00f4ng<\/a> l\u1edbn v\u00e0 s\u1ef1 \u1ed5n \u0111\u1ecbnh v\u01b0\u1ee3t tr\u1ed9i, <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/interdata.vn\/cloud-server\/\">d\u1ecbch v\u1ee5 Cloud Server ch\u1ea5t l\u01b0\u1ee3ng gi\u00e1 r\u1ebb c\u1ea5u h\u00ecnh cao<\/a> s\u1eed d\u1ee5ng c\u00f4ng ngh\u1ec7 \u1ea3o h\u00f3a ti\u00ean ti\u1ebfn s\u1ebd \u0111\u00e1p \u1ee9ng t\u1ed1t nhu c\u1ea7u c\u1ee7a b\u1ea1n. InterData t\u1eadp trung v\u00e0o gi\u1ea3i ph\u00e1p ch\u1ea5t l\u01b0\u1ee3ng, uy t\u00edn v\u1edbi dung l\u01b0\u1ee3ng t\u1ed1i \u01b0u v\u00e0 gi\u00e1 c\u1ea3 h\u1ee3p l\u00fd.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>String \u2013 hay chu\u1ed7i k\u00fd t\u1ef1 \u2013 l\u00e0 m\u1ed9t trong nh\u1eefng kh\u00e1i ni\u1ec7m quan tr\u1ecdng \u0111\u1ea7u ti\u00ean b\u1ea1n c\u1ea7n n\u1eafm khi h\u1ecdc l\u1eadp tr\u00ecnh. Trong b\u00e0i vi\u1ebft n\u00e0y, b\u1ea1n s\u1ebd t\u00ecm th\u1ea5y m\u1ecdi th\u1ee9 b\u1ea1n c\u1ea7n: t\u1eeb c\u00e1ch hi\u1ec3u string, s\u1ef1 kh\u00e1c bi\u1ec7t v\u1edbi c\u00e1c ki\u1ec3u d\u1eef li\u1ec7u kh\u00e1c, c\u00e1ch khai b\u00e1o, s\u1eed d\u1ee5ng, \u0111\u1ebfn<\/p>\n","protected":false},"author":2,"featured_media":27240,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[140],"tags":[],"class_list":["post-27232","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lap-trinh"],"_links":{"self":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/27232","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/comments?post=27232"}],"version-history":[{"count":3,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/27232\/revisions"}],"predecessor-version":[{"id":27241,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/27232\/revisions\/27241"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media\/27240"}],"wp:attachment":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media?parent=27232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/categories?post=27232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/tags?post=27232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}