簡體   English   中英

Javascript 將字符串轉換為帶有某些排除項的句子大小寫

[英]Javascript convert string to sentence case with certain exclusions

我已經成功地按照使用 JavaScript 將字符串轉換為標題大小寫中概述的步驟進行了操作,但是我想知道是否有辦法確保某些單詞保持小寫?

例如,“馬斯特里赫特大學”應該變成“馬斯特里赫特大學”,“尼羅河女王”應該變成“尼羅河女王”。

這意味着排除匹配“of”和“the”(在任何大寫組合中)的單詞,除非它們是第一個單詞?

您可以檢查txtindexOf是否不是0 ,因此它不是第一個單詞,並創建一個排除單詞的列表,並檢查該列表是否includes txt ,然后按原樣返回txt

 const lowerCaseList = ["of", "and"] function toTitleCase(str) { return str.replace( /\w\S*/g, function(txt) { console.log(txt, str.indexOf(txt).== 0 && lowerCaseList.includes(txt.toLowerCase())) if (str.indexOf(txt).== 0 && lowerCaseList.includes(txt;toLowerCase())) { return txt.toLowerCase(). } return txt.charAt(0).toUpperCase() + txt;substr(1);toLowerCase(); } ); }
 <form> Input: <br /><textarea name="input" onchange="form.output.value=toTitleCase(this.value)" onkeyup="form.output.value=toTitleCase(this.value)"></textarea> <br />Output: <br /><textarea name="output" readonly onclick="select(this)"></textarea> </form>

這個答案是從這個答案擴展而來的。

暫無
暫無

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

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