全球主机交流论坛

标题: 这个可以用正则表达式做到吗?GPT聊了半天了 [打印本页]

作者: 笨鸟先躺会儿    时间: 2024-2-22 21:35
标题: 这个可以用正则表达式做到吗?GPT聊了半天了
想把标记字符mark123之间的回车删除
比如原始样本:
  1. mark123
  2. test
  3. test
  4. test
  5. test
  6. test
  7. test
  8. mark123
  9. test
  10. mark123
  11. mark123
  12. mark123
  13. test
  14. test
  15. mark123
  16. mark123
复制代码

删除编辑mark123之前的回车,当然test是随机字符,但mark123是确定的
  1. mark123testtesttesttesttesttest
  2. mark123test
  3. mark123
  4. mark123
  5. mark123testtest
  6. mark123
  7. mark123
复制代码

作者: 鲁班    时间: 2024-2-22 21:44
先把所有换行删掉,再把mark123替换为mark123\n
作者: 笨鸟先躺会儿    时间: 2024-2-22 21:53
鲁班 发表于 2024-2-22 21:44
先把所有换行删掉,再把mark123替换为mark123\n

感谢,但似乎有点问题,mark123前面的换行也被删除了
  1. mark123
  2. testtesttesttesttesttestmark123
  3. testmark123
  4. mark123
  5. mark123
  6. testtestmark123
  7. mark123
复制代码

作者: 鲁班    时间: 2024-2-22 22:01
你很笨哦,我刚才是随手写一下思路。你试试第二步替换把\n放在mark123前面
作者: Oric    时间: 2024-2-22 22:03
JavaScript实现
  1. const str = `mark123
  2. test
  3. test
  4. test
  5. test
  6. test
  7. test
  8. mark123
  9. test
  10. mark123
  11. mark123
  12. mark123
  13. test
  14. test
  15. mark123
  16. mark123`

  17. console.log(str.replaceAll('\n', '').replaceAll('mark123', '\nmark123'))
复制代码


输出:

  1. mark123testtesttesttesttesttest
  2. mark123test
  3. mark123
  4. mark123
  5. mark123testtest
  6. mark123
  7. mark123
复制代码


再去掉第一个换行符即可
作者: 笨鸟先躺会儿    时间: 2024-2-22 22:15
鲁班 发表于 2024-2-22 22:01
你很笨哦,我刚才是随手写一下思路。你试试第二步替换把\n放在mark123前面

哥,牛逼!!
作者: XSProMax    时间: 2024-2-22 22:18
notepad 即可
作者: zxxx    时间: 2024-2-22 22:28
  1. \n[^(mark123)]
复制代码





欢迎光临 全球主机交流论坛 (https://lilynana.eu.org/) Powered by Discuz! X3.4