我有一些作為 API 回應獲得的烹飪說明,但它是散文的(示例如下)。我需要為句子中的每個句號格式化并換行(.)。
“將面粉、雞蛋、牛奶、1 湯匙油和一小撮鹽放入碗或大壺中,然后攪拌成光滑的面糊。如果有時間,請靜置 30 分鐘休息,或立即開始烹飪。\ r\n將中號煎鍋或縐煎鍋放在中火上,并用一些涂油的廚房紙小心地擦拭。熱時,將煎餅每面煎 1 分鐘直至金黃,邊走邊在低烤箱中保持溫暖。 \r\n與檸檬角和糖或您最喜歡的餡料一起食用。
我正在使用下面的代碼,但它沒有在句號之后放置新的換行符/換行符。
val input = meal.directions
val formattedDirections = input.replace("\\.\\s?", "\\.\n")
我查看了針對 Python、Java、JavaScript、PHP 和 C 發布的類似問題,但找不到出路。
任何有演算法/正則運算式或線索的人請幫忙
uj5u.com熱心網友回復:
replace方法本身會替換所有出現的事件,而不僅僅是一個事件。
但是,如果您將字串文字指定為第一個引數,即使它包含正則運算式,它也只會從字面上替換該字串。
要將第一個引數視為正則運算式,您需要通過.toRegex()在字串文字上呼叫方法或通過創建Regex. 示例代碼如下,
val formattedDirections = input.replace("\\.\\s?".toRegex(), "\\.\n")
或者
val formattedDirections = input.replace(Regex("\\.\\s?"), "\\.\n")
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/525282.html
標籤:安卓正则表达式科特林
上一篇:添加列Heroku資料庫
下一篇:為什么在kotlin"something!=null||return"中不執行智能轉換,但"if(something==null)return"是
