[英]Javascript convert string to sentence case with certain exclusions
我已經成功地按照使用 JavaScript 將字符串轉換為標題大小寫中概述的步驟進行了操作,但是我想知道是否有辦法確保某些單詞保持小寫?
例如,“馬斯特里赫特大學”應該變成“馬斯特里赫特大學”,“尼羅河女王”應該變成“尼羅河女王”。
這意味着排除匹配“of”和“the”(在任何大寫組合中)的單詞,除非它們是第一個單詞?
您可以檢查txt
的indexOf
是否不是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.