簡體   English   中英

刪除以某些字符開頭的字符串

[英]Remove string starting with certain character

我正在處理從API收到的一些內容。 在主文本字段的末尾,api有時返回以下字符串:

@@canvas-link@@{"type":"doc","fileName":"xyzv2.jpg","fileExt":"jpg",
         "fileSize":"232352",
               "file":"405957767101","downloadUrl":"dummytext"}

從主文本字段中刪除此字符串的最佳方法是什么?

str = str.replace(/@@canvas-link@@.*/, '');

如果您確定最終版本是最快的

s.substring(0, s.lastIndexOf("@@canvas-link@@")) ; // FASTER than most

已更新,只是為了好玩,我還有另一個使用slice()變體,它在此測試中甚至比substring()還要快。

s.slice(0,s.lastIndexOf("@@canvas-link@@")); // FASTEST

這是一個jsPerf ,顯示了它們擊敗了RegEx和split。 盡管我感到驚訝,拆分並不快。

但是,您的行駛里程可能會有所不同,對於更復雜的情況,我希望RegEx(替代)能脫穎而出。

改善約瑟夫·西爾伯斯,

str = str.replace(/@@canvas-link@@{.*}/, '');

為了確保它之后不會刪除任何東西。

您可以使用正則表達式,但是split()可以避免回車帶來的麻煩。

var str = 'foobar@@canvas-link@@{"type":"doc","fileName":"xyzv2.jpg","fileExt":"jpg",
     "fileSize":"232352",
           "file":"405957767101","downloadUrl":"dummytext"}';
var data = str.split('@@canvas-link@@')[0];
console.log(data);

>> foobar

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM