JS自定義對象-String(字符串)

2021-02-28 何同志

返回字符串中字符的長度,只能讀不能修改,length長度是計算字符串內的數值,不包含字符串本身符號。

let str = "1,3,3,4";
str.length = "3"; // 無法已賦值的方式修改,只讀
console.log(str.length); // 7

獲取字符串中得下標得值,只可獲取不可修改,注意使用str[0]獲取下標時,低版本是不兼容這種寫法的。

let str = "1,3,3,4";
console.log(str[0]); // 1  低版本ie不兼容這種寫法
console.log(str.charAt(0)); // 1

3. 字符串拼接concat方法 和 + 返回新的字符串
let str1 = "小何",
str2 = "今年18歲";
let str3 = str1.concat(str2);
console.log(str3); // 小何今年18歲

(2) + 的方法拼接字符串,兩種方法都是拼接,返回結果是一樣的
let str1 = "小何",
str2 = "今年18歲";
let str3 = str1 + str2; // + 的寫法
console.log(str3); // 小何今年18歲

在字符串中查詢某字符是否存在,存在返回下標,不存在返回-1;
let str1 = "1,2,3,4";
console.log(str1.indexOf("2")); // 返回下標2
console.log(str1.indexOf("5")); // 返回下標-1,字符串不存在這個數值

5. charCodeAt()方法 和 String.fromCharCode()

創建變量並賦值

(1) charCodeAt():返回單個字符的unicode編碼

console.log(str1.charCodeAt(0)); // 單字何的unicode編碼是20309

(2) String.fromCharCode()通過編碼返回單個字符,這裡的何字unicode編碼是20309,我們看下使用這個方法看下能不能返回內容何。

console.log(String.fromCharCode(20309)); // 何

6. slice()方法 數組裁切

語法:slice(開始裁切的位置,結束裁切的位置)

注意:

如果只有一個參數, 那麼默認把該參數設置為開始位置, 一直裁切到字符串末尾

如果參數是負數, 那麼就是倒過來數, 從數組的結尾開始數數. 

 例:設參數為-a, 那麼開始位置的索引就是string.length-a

代碼演示:

let str1 = "box-1";
let str2 = str.slice(0,3);

"box"從下標0開始到下標3結束,一共3給字符,區間(0, 3)

str2 = str.slice(2); // "x-1" 從第二位開始,到結束     
str3 = str.slice(-1); // "1" 從最後一位開始到結束,可以是負數   

7. split()方法 字符串切割

該方法可以將一個字符串變為一個數組

split(切割方法)

如果傳入空值, 那麼就是把整個字符串都變成數組的一個數組項目

如果傳入空字符串,那麼每一個單個字符都變成數組的一個數組項目

如果傳入其他的字符,那麼以這個字符為分割線,分隔字符串, 並把分隔後的每一小塊的字符變成數組的一個數組項目

代碼演示:

let str1 = "1,2,3";
let str2 = "小何1小何2小何3小何4小何5小何6"

(1) 將str2字符串 何 截取出來

console.log(str2.split("何"));

‍‍‍‍‍‍‍‍‍‍
‍‍‍‍‍‍‍‍‍‍

(2)  傳入空值:整個字符串都變成數組的一個數組項目

console.log(str1.split());

(3)  傳入空字符串:每一個單個字符都變成數組的一個數組項目

console.log(str1.split(""));

(4)  傳入$符號:字符串有$符號的,都會被截取出來,返回新的以逗號隔開的字符串

var str = "123$456$789";
var strA = str.split("$");
console.log(strA);  // ["123", "456", "789"]

8. replace()方法  替換值

replace() 方法用於在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。

var data = ["小紅","小明","小何"];
var str = "親愛的***,你好!恭喜你中獎電腦一臺!";

(1) 我們將str中***表示的符號,用for循環替換成data數組中的數值

for(var i=0; i <data.length; i++){
var newStr = str.replace("***",data[i]); // 特殊符號替換,循環一次替換一次
console.log(newStr); // 親愛的小紅,你好!恭喜你中獎電腦一臺,親愛的小明,你好!恭喜你中獎電腦一臺,親愛的小何,你好!恭喜你中獎電腦一臺
      }

(2) 多個特殊符號在不同的位置中進行替換,

var data = ["小紅","小明","小何"];
var str = "親愛的123,你好!恭喜你中獎電腦一臺!,請您於2021年12月30日之前攜帶123身份證進行兌換禮品!";

這裡我們將123定義為特殊符號。

for(var i=0; i <data.length; i++){
var newStr = str.replace(/123/g,data[i]); // 多個特殊符號123替換,要//g這樣寫,將特殊符號寫在//g裡面,也就是這樣/123/g
 console.log(newStr);  // 親愛的小紅,你好!恭喜你小紅中獎電腦一臺!
   }

// END

相關焦點

  • String字符串常用方法
    1、IndexOf方法:確定指定字符串在字符串中的索引,如果在字符串中找到指定字符,則返回其索引,否則返回-1。
  • c-串 VS string
    n+1個字符的長度 strcpy(charAr[i],tmp);//把字符串從臨時空間拷貝過去  } getchar();}以上是C-串在定義和使用中常遇到的問題和解決方法string類string是一種自定義的類型,它處理空間佔用問題是自動的
  • JS中字符串常見幾種的方法
    這篇文章主要介紹了Javascript字符串常用方法詳解的相關資料,在平時工作中經常會用到的,非常不錯,需要的朋友可以參考下。1:charAt()方法charAt()返回字符串中x位置的字符,下標從 0 開始。<!
  • L2-數據結構-第05課 字符串string
    L2-數據結構-第05課 字符串stringstringstring 類型支持長度可變的字符串,C++ 標準庫將負責管理與存儲字符相關的內存,以及提供各種有用的操作底層:是一種順序表的結構,元素是char類型的字符頭文件#
  • LeetCode-87.擾亂字符串(Scramble String)
    擾亂字符串給定一個字符串 s1,我們可以把它遞歸地分割成兩個非空子字符串,從而將其表示為二叉樹。下圖是字符串 s1 = "great" 的一種可能的表示形式。例如,如果我們挑選非葉節點 "gr" ,交換它的兩個子節點,將會產生擾亂字符串 "rgeat" 。
  • R 字符串之 stringr
    R 字符串之 stringr前言昨天我們介紹 R 數據處理的時候,對字符串的操作都是用自帶的函數。雖然 R 的字符串並不是它的強項,看起來也不是那麼的優雅,但是字符串在數據處理和清洗過程中還是扮演者較為重要的角色。
  • 字符串本地化
    在本地化字符串時,根據語法規則為每一種類型的語句定義一個可本地化的字符串是非常重要的。假設你在應用中需要顯示「Paul invited you」和「You invited Paul」,那麼只本地化格式化字符串「%@ invited %@」看起來是個不錯的選擇,這樣在合適的時候把「you」本地化之後插入進去就可以完成任務。
  • Go語言學習筆記之字符串一
    dk" fmt.Println("The number of bytes in string str1 is %d", len(str1)) fmt.Println("The number of characters in string str1 is %d", utf8.RuneCountInString(str1)) str2 := "asSASA ddd dsjkdsjsこん dk"
  • string字符串的比較
    string字符串的比較運算符有如下幾種:>大於;>=大於等於;<小於小於等於;==等於;如下所示是等於運算符的一個實例:#include<iostream>#include<windows.h>#include<string
  • 為什麼 Python 的 f-string 可以連接字符串與數字?
    由此,我們要引出一個問題:如何在不作顯式類型轉化的情況下,進行字符串與數字類型的拼接呢?在《詳解Python拼接字符串的七種方式》這篇文章中,它梳理了七種拼接字符串的寫法,我們可以逐個來試驗一下。但是,現在再看看最後一種寫法,也就是 f-string 寫法,似乎就不是那麼明顯了。首先,在字符串內部,它並沒有像「%格式化」那樣指定佔位符的類型;其次,所要拼接的數字並沒有作為任何函數的參數來傳遞。
  • C/C++中字符串string類型
    瀏覽器版本過低,暫不支持視頻播放字符串型作用:用於表示一串字符>兩種風格1.C風格字符串: char 變量名[] = "字符串值"示例:int main() {char str1[] = "hello world";
  • Java基礎之字符串及——String
    字符串的分類,字符串分為可變的字符串和不可變的字符串兩種;這裡的不可變與可變指的是字符串的對象還是不是同一個,會不會因為字符串對象內容的改變而創建新的對象。不可變的字符串:當字符串對象創建完畢之後,該對象的內容(上述的字符序列)是不能改變的,一旦內容改變就會創建一個新的字符串對象;Java中的String類的對象就是不可變的。
  • C#核心開發-C#字符串是引用類型,如何定義、賦值和格式化呢?
    string類型在C#中,string類型表示使用英文的雙引號包起來的字符串,只要是使用雙引號包起來的,哪怕只包了1個字符,也是字符串。string類型在C#中是一種特殊的數據類型,它是地地道道的引用類型,但是在使用時,卻不需要使用new關鍵字生成對象,而是像值類型一樣使用。
  • Tcl學習:string compare命令對字符串的比較
    打開APP Tcl學習:string compare命令對字符串的比較 工程師李察 發表於 2018-09-23 10:10:00
  • Hive函數大全(含例子)之字符串函數(String Functions)
    字符串函數 String Functionsascii(string str)返回結果: 返回字符串str首字母的十進位ascii碼返回類型: intjson_string, string path)返回結果: 提取json對象值返回類型: stringselect get_json_object('{"key":"value"}', '$.key'); -- 結果為
  • 深入剖析go中字符串的編碼問題——特殊字符的string怎麼轉byte?
    string怎麼轉成[]byte?」。uint8範圍是0-255,只能夠表示有限個unicode字符,超過255的範圍就會編譯報錯。根據上述關於unicode的定義,4位元組的rune完全兼容兩字節的unicode。
  • C++之字符串類學習總結
    一、回顧c語言對字符串的實現:一般我們在c語言要實現對字符串操作的話,一般是採用字符數組或者一組函數來實現的,為啥這樣做呢,那是因為c語言裡面根本就沒有字符串類型的關鍵字;而且c語言也支持自定義類型,所以更加無法獲得字符串類型為了解決這個問題,在c++中,引入了自定義類型,而且可以通過類來完成對字符串類型的定義。
  • 【Golang】快速複習指南QuickReview(一)——字符串string
    String-字符串1.C#的字符串 字符串在C#中,是一個特殊的類型,不能簡單把它歸納為值類型,或者引用類型。需要記住的有兩點:1.無論對字符串做什麼操作,都會在內存中生成一個新的實例,即使是一個簡單的重新賦值操作。
  • Swift字符串和字符
    字符串連接操作只需要簡單地通過 + 號將兩個字符串相連即可。與 Swift 中其他值一樣,能否更改字符串的值,取決於其被定義為常量還是變量。儘管語法簡易,但 String 類型是一種快速、現代化的字符串實現。每一個字符串都是由獨立編碼的 Unicode 字符組成,並提供了用於訪問這些字符在不同的Unicode表示的支持。
  • [快學Python3]String(字符串)
    下面我們如何用不同的引號來創建字符串:a = u'我是字符串'b = u"我是字符串"c = """我是字符串我是字符串我還是字符串"""由上面看出,三引號括起來的字符串可以有多行。字符串內置函數在python中字符串內置函數提供了各種字符串處理能力,下面我們看幾個常用的函數應用示例:字符連接和切割在python中提供了以下函數完成連接和切割功能:下面我們看看具體的代碼示例: