Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
符串拼接是所有程序設(shè)計(jì)語(yǔ)言都需要的操作。當(dāng)拼接結(jié)果較長(zhǎng)時(shí),如何保證效率就成為一個(gè)很重要的問(wèn)題。本文介紹的是Javascript中的字符串拼接,希望對(duì)你有幫助,一起來(lái)看。
const icon = '';
// 模板字符串
`hi ${icon}`;
// join() 方法
['hi', icon].join(' ');
// Concat() 方法
''.concat('hi ', icon);
// + 操作符
'hi ' + icon;
// RESULT
// hi
1. 模板字符串
如果你來(lái)自另一種語(yǔ)言(例如Ruby),則將熟悉字符串插值一詞。這正是模板字符串要實(shí)現(xiàn)的目標(biāo)。這是在字符串創(chuàng)建中包含表達(dá)式的一種簡(jiǎn)單方法,該方法簡(jiǎn)潔明了。
const name = 'samantha';
const country = '';
(1) 字符串連接中缺少空格的問(wèn)題
在模板字符串之前,這是我的字符串的結(jié)果
"Hi, I'm " + name + "and I'm from " + country;
?? 你發(fā)現(xiàn)我的錯(cuò)誤了嗎?我缺少空格。在連接字符串時(shí),這是一個(gè)非常普遍的問(wèn)題。
// Hi, I'm samanthaand I'm from
(2) 用模板字符串解決
使用模板字符串,可以解決此問(wèn)題。你可以按照你想要的字符串顯示方式編寫(xiě)。所以很容易發(fā)現(xiàn)是否缺了一個(gè)空格,現(xiàn)在超級(jí)可讀,耶!
`Hi, I'm ${name} and I'm from ${country}`;
2. join()
join 方法合并數(shù)組的元素并返回一個(gè)字符串。因?yàn)樗c數(shù)組一起使用,所以如果要添加其他字符串,它非常方便。
const instagram = '@samanthaming';
const twitter = '@samantha_ming';
const array = ['My handles are ', instagram, twitter];
const tiktok = '@samantaming';
array.push(tiktok);
array.join(' ');
// My handles are @samanthaming @samantha_ming @samanthaming
自定義分隔符
join 的好處在于,你可以自定義組合數(shù)組元素的方式。你可以通過(guò)在其參數(shù)中傳遞分隔符來(lái)實(shí)現(xiàn)。
const array = ['My handles are '];
const handles = [instagram, twitter, tiktok].join(', ');
// @samanthaming, @samantha_ming, @samanthaming
array.push(handles);
array.join('');
// My handles are @samanthaming, @samantha_ming, @samanthaming
3. concat()
使用 concat,可以通過(guò)在字符串上調(diào)用方法來(lái)創(chuàng)建新字符串。
const instagram = '@samanthaming';
const twitter = '@samantha_ming';
const tiktok = '@samanthaming';
'My handles are '.concat(instagram, ', ', twitter', ', tiktok);
// My handles are @samanthaming, @samantha_ming, @samanthaming
結(jié)合字符串和數(shù)組
還可以使用 concat 將字符串與數(shù)組組合在一起。當(dāng)我傳遞數(shù)組參數(shù)時(shí),它將自動(dòng)將數(shù)組項(xiàng)轉(zhuǎn)換為以逗號(hào)分隔的字符串。
const array = [instagram, twitter, tiktok];
'My handles are '.concat(array);
// My handles are @samanthaming,@samantha_ming,@samanthaming
果您希望格式更好,我們可以使用 join 來(lái)定制分隔符。
const array = [instagram, twitter, tiktok].join(', ');
'My handles are '.concat(array);
// My handles are @samanthaming, @samantha_ming, @samanthaming
4. +操作符
關(guān)于在組合字符串時(shí)使用 + 運(yùn)算符的一件有趣的事情。你可以用來(lái)創(chuàng)建新的字符串,也可以通過(guò)添加現(xiàn)有字符串來(lái)對(duì)其進(jìn)行突變。
(1) 非可變
在這里,我們使用 + 創(chuàng)建一個(gè)全新的字符串。
const instagram = '@samanthaming';
const twitter = '@samantha_ming';
const tiktok = '@samanthaming';
const newString = 'My handles are ' + instagram + twitter + tiktok;
(2) 可變的
我們還可以使用 += 將其附加到現(xiàn)有字符串中。所以如果出于某種原因,你需要一種改變的方法,這可能是你的一個(gè)選擇。
let string = 'My handles are ';
string += instagram + twitter;
// My handles are @samanthaming@samantha_ming
哦,該死的再次忘記了空格。看到了!連接字符串時(shí)很容易錯(cuò)過(guò)空格。
string += instagram + ', ' + twitter + ', ' + tiktok;
// My handles are @samanthaming, @samantha_ming, @samanthaming
感覺(jué)還是很亂的,我們把 join 扔進(jìn)去吧!
string += [instagram, twitter, tiktok].join(', ');
// My handles are @samanthaming, @samantha_ming, @samanthaming
5. 字符串中的轉(zhuǎn)義字符
當(dāng)字符串中包含特殊字符時(shí),組合時(shí)首先需要轉(zhuǎn)義這些字符。讓我們看一些情況,看看如何避免它們
(1) 轉(zhuǎn)義單引號(hào)或撇號(hào)(’)
創(chuàng)建字符串時(shí),可以使用單引號(hào)或雙引號(hào)。知道了這些知識(shí),當(dāng)你的字符串中出現(xiàn)單引號(hào)時(shí),一個(gè)很簡(jiǎn)單的解決方法就是用相反的方法來(lái)創(chuàng)建字符串。
const happy = ;
["I'm ", happy].join(' ');
''.concat("I'm ", happy);
"I'm " + happy;
// RESULT
// I'm
當(dāng)然,您也可以使用反斜杠 \ 來(lái)轉(zhuǎn)義字符。但是我發(fā)現(xiàn)它有點(diǎn)難以閱讀,所以我并不經(jīng)常這樣。
const happy = ;
['I\'m ', happy].join(' ');
''.concat('I\'m ', happy);
'I\'m ' + happy;
// RESULT
// I'm
由于模板字符串正在使用反引號(hào),因此這種情況不適用于它
(2) 轉(zhuǎn)義雙引號(hào)(“)
類似于轉(zhuǎn)義單引號(hào),我們可以使用相同的方法來(lái)使用相反的引號(hào)。因此,為了轉(zhuǎn)義雙引號(hào),我們將使用單引號(hào)。
const flag = '';
['Canada "', flag, '"'].join(' ');
''.concat('Canada "', flag, '"');
'Canada "' + flag + '"';
// RESULT
// Canada ""
是的,還可以使用反斜杠轉(zhuǎn)義符。
(3) 轉(zhuǎn)義符(`)
因?yàn)槟0遄址褂梅匆?hào)創(chuàng)建其字符串,所以當(dāng)要輸出該字符時(shí),我們必須使用反斜杠對(duì)其進(jìn)行轉(zhuǎn)義。
6. 使用哪種方式?
我展示了一些使用不同方式連接字符串的示例。哪種方法更好取決于所有情況。關(guān)于樣式偏好,我喜歡遵循Airbnb風(fēng)格指南。
因此,模板字符串必勝!
7. 為什么其他方式仍然重要?
知道其他的方法也還是很重要的。為什么這么說(shuō)呢?因?yàn)椴⒉皇敲總€(gè)代碼庫(kù)都會(huì)遵循這個(gè)規(guī)則,或者你可能面對(duì)的是一個(gè)遺留代碼庫(kù)。作為一個(gè)開(kāi)發(fā)者,我們需要能夠適應(yīng)和理解我們所處的任何環(huán)境。我們是來(lái)解決問(wèn)題的,而不是抱怨技術(shù)有多老 除非這種抱怨是配合實(shí)際行動(dòng)來(lái)改善的。那我們就有進(jìn)步
件轉(zhuǎn)換工具新增exel轉(zhuǎn)html功能,可在線預(yù)覽excel。
1.打開(kāi)工具,選擇excel文件
單sheet模式
2.轉(zhuǎn)換文件
單sheet模式
可以看到提供了頁(yè)數(shù)屬性單sheet和多sheet,默認(rèn)為單sheet,該種模式下,轉(zhuǎn)換器會(huì)將excel里每個(gè)sheet頁(yè)轉(zhuǎn)換到一個(gè)html文件上,從上至下拼接起來(lái),如下圖:
單sheet模式轉(zhuǎn)換文件
單sheet模式輸出文件
多sheet模式
該模式下轉(zhuǎn)換器會(huì)自動(dòng)識(shí)別excel每個(gè)sheet頁(yè),并將每個(gè)sheet輸出到html上對(duì)應(yīng)tab頁(yè)上,可以點(diǎn)擊html上不同tab頁(yè)切換查看內(nèi)容,如下圖。
多sheet模式輸出文件
多sheet模式輸出文件
工作生活中,經(jīng)常會(huì)遇到excel文件需要在內(nèi)部系統(tǒng)線上或線下發(fā)給其他人預(yù)覽,但是又不想其他人有編輯權(quán)限,我們一般會(huì)將excel文件轉(zhuǎn)圖片或轉(zhuǎn)pdf上傳系統(tǒng),這里提供了一種新途徑直接轉(zhuǎn)html,瀏覽器可在線預(yù)覽,相關(guān)軟件工作人員也可開(kāi)發(fā)相應(yīng)的excel在線預(yù)覽功能。
前做過(guò)文檔,讓我挖這個(gè)免費(fèi)格式轉(zhuǎn)換網(wǎng)站,真是太神奇了。
在生活和工作中,我們經(jīng)常需要將文件從一種格式轉(zhuǎn)換為另一種格式。例如,將Word文件轉(zhuǎn)換為PDF或MP3文件轉(zhuǎn)換為WAV。然而,要找到一個(gè)適合我們的文件轉(zhuǎn)換工具并不容易。在這種情況下,Zamzar可以派上用場(chǎng)。
功能介紹
Zamzar是一種在線文件轉(zhuǎn)換工具(每天免費(fèi)轉(zhuǎn)換次數(shù)有限,因?yàn)榭梢悦赓M(fèi)注冊(cè)試用,可以更換瀏覽器或打開(kāi)無(wú)痕窗口繼續(xù)使用),可以幫助您快速輕松地將文件從一種格式轉(zhuǎn)換為另一種格式。
它支持1200多種不同的文件格式,如文檔、圖像、音頻和視頻。以下是Zamzar的一些主要功能:
文件轉(zhuǎn)換
1.文檔轉(zhuǎn)換:Zamzar可以將各種格式的文檔轉(zhuǎn)換為PDF,如Worddd、Excel、PowerPoint等。
2.PDF轉(zhuǎn)換:Zamzar除了將文檔轉(zhuǎn)換為PDF外,還可以將PDF轉(zhuǎn)換為其他格式,如Worddd、Excel、HTML等。
3.合并PDF:Zamzar可以將多個(gè)PDF文件合并成PDF。
4.分割PDF:一個(gè)大的PDF文件可分為幾個(gè)小的PDF文件。
5.圖像轉(zhuǎn)換:支持將圖像文件轉(zhuǎn)換為其他格式,如JPG轉(zhuǎn)換PNG、GIF轉(zhuǎn)BMP等,幾乎涵蓋了日常生活中看到的圖片格式。
6.音頻視頻轉(zhuǎn)換:Zamzar可以將音頻和視頻文件轉(zhuǎn)換為其他格式,如MP3轉(zhuǎn)換WAV、AVI轉(zhuǎn)MP4等,還支持MKV、flv、avi、3gp等格式互轉(zhuǎn)。支持MP33、midi、wav、ogg、flac等多種格式。
7.電子書(shū)轉(zhuǎn)換:支持從EPUB到MOBI的電子書(shū)文件格式轉(zhuǎn)換。
8.批量轉(zhuǎn)換:Zamzar還支持批量轉(zhuǎn)換,可同時(shí)將多個(gè)文件轉(zhuǎn)換為另一種格式。
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。