導航:首頁 > 編程語言 > jsnewstring

jsnewstring

發布時間:2023-02-14 04:08:08

js中字元串的常見方法

首先創建一個字元串,創建字元串的方法有兩種:

1.字面量:var str = "abc123efg456";

2.構造函數:var str = newString("abc123efg456");

其次,需要注意的是,javascript的字元串是不可變的,String類定義的方法都不可以改變字元串內容。若是需要通過方法改變字元串的內容,需要將返回值重新賦值給原來的字元串。如:str = str.toUpperCase();

下面,介紹比較常用的字元串的方法:

var str = "1abc123abc456abc";

功能:返回指定的字元串值在字元串中首次出現的位置。

參數:s為要檢索的字元,必需;n為可選的字元參數,規定字元串檢索的位置。

demo:

var index1 = str.indexOf("a");

var index2 =str.indexOf("a",8);

var index3 =str.indexOf("a",14);

console.log(index1); // 1

console.log(index2); // 13

console.log(index3); // -1  從檢索的位置檢索不到字元,返回-1

功能:返回一個指定的字元串值最後出現的位置,在一個字元串中的指定位置從後向前搜索。

參數:s為要檢索的字元,必需;n為可選的字元參數,規定字元串檢索的位置。

demo:

var index1 =str.lastIndexOf("a"); 

var index2 =str.lastIndexOf("a",11);

var index3 =str.lastIndexOf("a",0);

console.log(index1); // 13

console.log(index2); // 7

console.log(index3); // -1  從檢索的位置檢索不到字元,返回-1

功能:返回指定位置的字元。

參數:n表示字元串中某個位置的索引,不寫默認為第0個字元。

demo:

var s = str.charAt(3);

console.log(s);  // c

功能:返回指定位置的字元的Unicode編碼。

參數:n表示字元串中某個位置的索引,可以沒有參數,默認是索引為0的參數。

demo:

var s = str.charCodeAt(3);

console.log(s);  // 99

注:c的unicode編碼為99。

注意:charAt(n)方法和charCodeAt(n)方法類似,前者返回的是字元,後者返回的是字元的unicode編碼。

功能:將編碼轉成字元方法。

參數:十進制和十六進制,不支持unicode編碼。

demo:

var s1 =String.fromCharCode("0x56fd");

var s2 = String.fromCharCode(22269);

console.log(s1);   //國

console.log(s2);  //國

注:「國」的十六進制編碼是56fd,十進制是22269。

功能:根據指定位置,截取子串,從m到n,不包括n。

參數:m,n為索引。

demo:

var s = str.slice(2,7);

console.log(s); // bc123

功能:根據指定位置,截取子串,從m到n,不包括n。

參數:m,n為索引。

demo:

var s = str.substring(2,7);

console.log(s); // bc123

功能:根據指定位置,截取子串,從m位置取,共取n個。

參數:m,n為索引。

demo:

var s = str.substr(2,7);

console.log(s); // bc123ab

功能:字元串替換。

參數:oldstr為需要被替換的字元,newstr為替換的字元。

demo:

var s =str.replace("a","l");

console.log(s); // 1lbc123abc456abc

注意:每次只能替換一個符合條件的字元。

功能:分割字元,返回成為數組。

參數:"s"為分割的字元。

demo1:

var arr1 = str.split("b");

console.log(arr1);  // ["1a", "c123a","c456a", "c"]

demo2:

var arr2 = str.split(); //["1abc123abc456abc"]

console.log(arr2);

demo3:

var arr3 = str.split("");

console.log(arr3); // ["1","a", "b", "c", "1", "2","3", "a", "b", "c", "4","5", "6", "a", "b", "c"]

注意:參數不寫的時候,返回原字元串組成的數組;參數為空字元的時候,將每個字元分割,返回一個數組

功能:檢索字元串中指定的子字元串,返回第一個與字元串匹配的索引值。

參數:需要被檢索的字元串。

demo:

var s1= str.search("abc");

var s2 = str.search("efg");

console.log(s1); // 1

console.log(s2); // -1

注:如果沒有找到任何匹配的子串,則返回-1。

功能:在字元串內檢索指定的值,匹配到就返回指定的字元值。

參數:需要被檢索的字元串。

demo:

var s1= str.match("abc");

var s2 = str.match("efg");

console.log(s1); // ["abc",index: 1, input: "1abc123abc456abc", groups: undefined]

console.log(s2); // null

注:該方法類似indexOf()和lastIndexOf(),但是它返回指定的值,沒有就返回null

功能:連接兩個或多個字元串,返回連接後的字元串。

參數:需要連接的字元串。

demo:

var str1="abc ";

var str2="123";

console.log(str1.concat(str2));   // "abc 123"

提示:如果需要拼接字元串,用運算符「+」更簡單。

功能:把字元串轉換為小寫。

參數:無

demo:

var str = "ABC abc";

console.log(str.toLowerCase()); // abcabc

功能:把字元串轉換為大寫。

參數:無

demo:

var str = "ABC abc";

console.log(str.toUpperCase()); // ABCABC

功能:把字元串顯示為大號字體。

參數:無

demo:

var s = str.big();

document.write(str+"");

document.write(s);

功能:把字元串顯示為小號字。

參數:無

demo:

var s = str.small();

document.write(str+"");

document.write(s);

功能:把字元串顯示為粗體。

參數:無

demo:

var s = str.bold();

document.write(str+"");

document.write(s);

功能:把字元串顯示為斜體。

參數:無

demo:

var s = str.italics();

document.write(str+"");

document.write(s);

功能:將字元以指定的顏色顯示。

參數:顏色名(red)、RGB 值(rgb(255,0,0))或者十六進制數(#FF0000)。

demo:

var s = str.fontcolor("red");

document.write(str+"");

document.write(s);

功能:將字元以指定的字型大小顯示。

參數:size參數必須是從1和7之間的數字,1表示小的字型大小,7表示最大的字型大小。

demo:

var s = str.fontsize(7);

document.write(str+"");

document.write(s);

功能:把字元串顯示為超鏈接。

參數:鏈接的URL。

demo:

var s =str.link("http://www..com");

document.write(str+"");

document.write(s);

功能:把字元串加字元串顯示。

參數:無

demo:

var s = str.strike();

document.write(str+"");

document.write(s);

以上是對字元串方法的整理,如有修改、補充,後續會更新。

文中如果紕漏,錯誤,不合理,描述不清晰,不準確等問題,歡迎大家留言指正...

⑵ JS實現字元串反轉

首先了解JavaScript中字元串和數組的區別:

①字元串是不可變的,數組是可變的。字元串不可變是指字元串的成員函數不會改變其原始值,而是創建並返回一個新的字元串。而數組的成員函數都是在其原始值上進行操作。

②數組有一個字元串沒有的可變更成員函數reserve()。

方法一:先將字元串轉化為數組,待處理完後再將結果轉化回字元串:

split()方法將一個字元串拆成字元並返回一個數組

reverse()方法使數組反轉

join()方法將數組中的所有元素邊接成一個字元串

var a="foo";

var b=a.split("")//轉化為字元串數組

            .reverse()//進行反轉

            .join("")//數組中的字元拼接回字元串

方法二:把字元串中的字元倒序存入數組,再將數組轉化為字元串:

var newString = [];

for(var i = a.length-1,j = 0; i >= 0; i --,j ++){

    newString[j] = a[i];

};

newString.join();

⑶ JS中的String 對象及其屬性(方法)

String 對象用於處理文本(字元串):

        參數是要存儲在 String 對象中或轉換成原始字元串的值 ;

        通過構造函數的方式也可以把數字類型轉成字元串類型; 

         let str = new String(123456);

         console.log(str);

         字面量的方式去創建一個字元串 

        let str = 'he k' 

1、屬性   length  字元串的長度 

        整個字元串(無論是內部的空格還是外部的空格)都算成長度 

        console.log(str.length); 

        字元串有length屬性 也可以被遍歷 

         for(var i=0;i<str.length;i++){

            console.log(str[i]); }

2、 charAt() 返回在指定位置的字元(註:字元串中第一個字元的下標是0) 

        如果寫的索引位置找不到對應的字元 會返回一個空字元串 

         let a = str.charAt(6);

        console.log(a); 

3、concat()    連接字元串 

         會返回一個新的拼接後的字元串 

          let newstr = str.concat('itty');

           console.log(newstr);

4、 replace()    用於在字元串中用一些字元替換另一些字元,或替換一個與正則表達式匹配的子串 ;

       replace會把第一參數(第一個參數是屬於原字元串的字元)替換成第二個參數裡面內容  

        原來的字元串不會受到影響,會返回一個新的替換後的字元串 

         let str = "hello world";

        let a = str.replace('world','kitty'); 

          console.log(a,str); 

         let str = 'abc123qwe456'; 

 5、/\d/正則表達式 代表字元串裡面的第一個數字替換成nnn 

         /\d+/ 表示匹配字元串裡面的所有數字當成一個整體替換成nnn 

         let a = str.replace(/\d+/,'nnn') 

        因為/\d+/ 這段正則不是全局的,所以只會改變第一個匹配項(123整體) 

        因為/\d/ 這段正則不是全局的,所以只會改變第一個匹配項(1) 

         let a = str.replace(/\d/,'n') 

        想讓str中所有的數字都變成n 

         正則裡面的g表示全局的意思 str.replace(/\d/g,'n') 可以把字元串裡面的每一個數字都變成n 

         正則裡面的g表示全局的意思 str.replace(/\d+/g,'n')

         把字元串裡面的所有數字當成一個整體都變成n    

         let a = str.replace(/\d/g,'n') 

         console.log(a); 

         sort會對原數組造成影響 

         let arr = [4,5,1,3]

         let newarr = arr.sort();

         console.log(arr[0]);

         let str = 'abcdefg' 

        eg: 通過索引找到e charAt方法, 再寫一個字元串 aaaa 拼接到str上 並答應出來新的字元串 ,  把abcd替換成hello 並把替換後的字元串列印出來;

         let str = 'abcdefg';

         console.log(str.charAt(4));

         let str2 = 'aaaa';

         let newstr = str.concat(str2);

        console.log(newstr);

        let rstr = str.replace('abcd','hello')

         console.log(rstr);

         function fn(){

       arguments 參數集合 是一個類數組  

        類數組不具有數組的方法 比如push 

        arguments.push(5) 

       es6裡面提供了一個方法 Array.from

       使用Array.from把類數組轉成真正的數組,這樣就可以使用數組的方法了 比如push pop 

         let arr = new Array() 

        let arr = Array.from(arguments)

        arr.push(5)

         console.log(arr); }

         fn(1,2,3,4)

6、split()  把一個字元串分割成字元串數組 

        數組轉字元串 

        let arr = [1,2,3];

        let str = arr.join('-');

        console.log(str); 

         let str = 'hello'; 

         split()不加參數 會把hello這個整體放到數組當中 

         str.split('') 把hello這個字元串 用空字元串分割 轉化為數組 

        str.split(',') 如果用字元串中不存在的字元分割 那麼還是會把整體放到數組中 

        str.split('e') 用e當作分割符 把字元串分割成數組 ['h','llo'] 

         str.split('l') 用l當作分割符 會變成空字元串 因為有兩個l 所以會分割成用['he', '', 'o'] 

        let arr = str.split('l');

        console.log(arr);

7、 indexOf()    返回某個指定的字元串值在字元串中首次出現的位置(★首次很重要) 

         let str = 'hello'

       str.charAt(1) => e 

         和數組的indexOf一樣 

        let index = str.indexOf('l');

         console.log(index);

 8、lastIndexOf()    返回一個指定的字元串值最後出現的位置 

         let str = 'hello'

         let index = str.lastIndexOf('l');

         console.log(index);

 9、 match()  可在字元串內檢索指定的值,或找到一個或多個正則表達式的匹配 

         let str = 'he123llo456'; 

         str.match('o') 使用match來檢索o 可以知道o在字元串內的信息,以數組的形式返回

        比如o所在的索引,o所在的字元串和o的長度 

        let a = str.match('o')

         console.log(a);

         /\d+/ 代表匹配一段整體的數字 

         /\d/代表匹配一個數字 g代表全局

        總體來說就是 在str字元串全局內 去查找一個一個的數字

        會以一個數組的形式方式

        不寫g 只會返回第一個  寫g 代表全局 會查找所有 

        let a = str.match(/\d+/g);

        console.log(a); 

10、 toLowerCase()    把字元串轉換為小寫 

         let str = "HELLO"

         let str2 = str.toLowerCase();

         console.log(str2);

 11、 toUpperCase()    把字元串轉換為大寫 

         let str = 'hello'

        let str2 = str.toUpperCase();

        console.log(str2);

⑷ js中String()、new String()探究

js中的基礎類型有6種
5種基礎類型:undefined null String Number Boolean
1中引用類型:Object

基礎類型的string有如下定義方式:

這三種方式有什麼區別嗎?

str1、str2是普通的字元串,str3是個對象?什麼原因呢?

用 typeof 驗證一下

用 instanceof 驗證一下

可以看出 str3 確確實實是個String對象了
再來看個有意思的事,如果給String加上自定義方法和屬性呢?

雖然 str1、str2不是對象,但可以用String上的方法和屬性
再看,如果直接給str1、str2定義方法和屬性呢?

可以看出str1、str2是不能定義自己的方法和屬性的,而str3可以
這就能看出 js 的神奇部分了,什麼原理呢?

來看包裝對象和原始資料類型

上面看到的str1、str2即為原始資料類型,str3為包裝對象,通過typeof可以看出
但str1、str2不能自己定義屬性和方法,卻可以用String的屬性和方法

總結一下
1、第一種和第二種方法定義出來的是原始資料類型,並儲存於棧中,並向包裝對象(new ..())借來方法和屬性.
2、第三種是 包裝對象,棧中儲存堆指針,堆中儲存內容。

關於堆、棧、指針的問題,咱們繼續學習

⑸ js中var str=「123456」和var str=new String(「123456」)

這么理解:
String str = "123456"; 先在內存中找是不是有"123456" 這個對象,
如果有,就讓str指向那個"123456".如果內存里沒有"123456",就創建一個新的對象保存"123456".
String str=new String ("123456") 就是不管內存里是不是已經有"123456"這個對象,
都新建一個對象保存"123456"

閱讀全文

與jsnewstring相關的資料

熱點內容
剛復制的文件找不到怎麼辦 瀏覽:724
試運行適用於哪些體系文件 瀏覽:987
ghost文件復制很慢 瀏覽:967
傑德原車導航升級 瀏覽:240
編程dest是什麼意思 瀏覽:935
linux埠鏡像 瀏覽:820
iphone5屏幕清塵 瀏覽:157
機頂盒密碼怎麼改 瀏覽:672
w7系統下載32位教程 瀏覽:618
pcb文件包括哪些內容 瀏覽:598
g00文件 瀏覽:607
用bat程序刪除程序 瀏覽:516
dnf鬼泣90版本打安圖恩 瀏覽:668
245倒角編程怎麼計算 瀏覽:599
可以買生活用品的app有哪些 瀏覽:175
cad在c盤產生的文件夾 瀏覽:541
聯想手機解鎖工具 瀏覽:696
瑞銀3887win10 瀏覽:833
學網路編程哪個好 瀏覽:805
手機vmos導入的文件在哪裡 瀏覽:115

友情鏈接