我有一些烹饪指示,作为API的响应,但它是散文(下面的样本)。我需要为每个句号(.)设置一个新的行。
“将面粉、鸡蛋、牛奶、1汤匙油和少量盐放入碗或大水壶中,然后搅拌到光滑的面糊中。如果有时间的话,留出30分钟休息,或者马上开始烹饪。\r\n用中火加热一个中等大小的平底锅或烤盘,然后用一些油渍的厨房纸仔细擦去。热的时候,把你的薄煎饼一边烤1分钟,然后一边放在一个低的烤箱里加热。\r\n用柠檬楔子和糖,或者你最喜欢的馅。
我正在使用下面的代码,但它不会在句号之后放置新的行/行中断。
val input = meal.directions
val formattedDirections = input.replace("\\.\\s?", "\\.\n")我看过类似的关于Python、Java、JavaScript、PHP和C++的问题,但是我找不到出路。
任何有算法/Regex或线索的人请帮助
发布于 2022-11-02 06:11:09
replace方法本身将替换所有事件,而不仅仅是一个事件。
但是,如果将字符串文字指定为第一个参数,那么即使字符串包含正则表达式,它也只能从字面上替换该字符串。
要将第一个参数视为regex,需要将其转换为regex对象,方法是在字符串文本上调用.toRegex()方法或创建Regex对象。示例代码如下,
val formattedDirections = input.replace("\\.\\s?".toRegex(), "\\.\n")或
val formattedDirections = input.replace(Regex("\\.\\s?"), "\\.\n")https://stackoverflow.com/questions/74284741
复制相似问题