首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环遍历字符串并用Kotlin中的新行替换句号

循环遍历字符串并用Kotlin中的新行替换句号
EN

Stack Overflow用户
提问于 2022-11-02 05:34:52
回答 1查看 55关注 0票数 2

我有一些烹饪指示,作为API的响应,但它是散文(下面的样本)。我需要为每个句号(.)设置一个新的行。

“将面粉、鸡蛋、牛奶、1汤匙油和少量盐放入碗或大水壶中,然后搅拌到光滑的面糊中。如果有时间的话,留出30分钟休息,或者马上开始烹饪。\r\n用中火加热一个中等大小的平底锅或烤盘,然后用一些油渍的厨房纸仔细擦去。热的时候,把你的薄煎饼一边烤1分钟,然后一边放在一个低的烤箱里加热。\r\n用柠檬楔子和糖,或者你最喜欢的馅。

我正在使用下面的代码,但它不会在句号之后放置新的行/行中断。

代码语言:javascript
复制
val input = meal.directions
val formattedDirections = input.replace("\\.\\s?", "\\.\n")

我看过类似的关于Python、Java、JavaScript、PHP和C++的问题,但是我找不到出路。

任何有算法/Regex或线索的人请帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-02 06:11:09

replace方法本身将替换所有事件,而不仅仅是一个事件。

但是,如果将字符串文字指定为第一个参数,那么即使字符串包含正则表达式,它也只能从字面上替换该字符串。

要将第一个参数视为regex,需要将其转换为regex对象,方法是在字符串文本上调用.toRegex()方法或创建Regex对象。示例代码如下,

代码语言:javascript
复制
val formattedDirections = input.replace("\\.\\s?".toRegex(), "\\.\n")

代码语言:javascript
复制
val formattedDirections = input.replace(Regex("\\.\\s?"), "\\.\n")
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74284741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档