I. Text \n A. Sub-section 1: This text\n B. Sub-section 2: This text\n C. Sub-section 3: This text\n\n II. text\n A. Sub-section 1: This text \n B. Sub-section 2: This text\n III. text \n A.Sub-section 1: This text\n
我希望可以提取sub-section之后的文本并将其添加到数组中
输入为长字符串
任何解决方案都可以使用正则表达式或字符串操作
3条答案
按热度按时间aydmsdu91#
如果您将所有文本放在一个变量中,则可以首先使用matchAll()获取所有匹配项,然后使用map()仅缩小到捕获组,再使用trim()去除不必要的空格。”
如果你有你的文字在不同的形式,让我知道在评论中,我可以改变相应的代码。
xam8gpfp2#
考虑到我们有一个像
text
这样的多行文本,我们可以通过搜索Sub-section \d+:
来获取每行在这之后,我们得到了每个子部分的数组。
下一步是从我们得到的所有文本中删除
Sub-section \d+:
。dkqlctbz3#
您的问题没有很好地定义。以下是基于以下假设的解决方案:
:
冒号之后的文本,冒号前后的文本可能会有所不同输出:
正则表达式的解释:
^
-行的开始.*?:
-第一个结肠的非贪婪扫描*
-可选空格(.+)
-捕获组1:到行尾的所有内容,至少包含一个字符gm
-标记为macth multiple,并将行的开始/结束视为字符串的开始/结束