Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve find replace #8771

Closed
3 tasks done
gdy106 opened this issue Jul 17, 2023 · 18 comments
Closed
3 tasks done

Improve find replace #8771

gdy106 opened this issue Jul 17, 2023 · 18 comments
Assignees
Milestone

Comments

@gdy106
Copy link

gdy106 commented Jul 17, 2023

Is there an existing issue for this?

  • I have searched the existing issues

Can the issue be reproduced with the default theme (daylight/midnight)?

  • I was able to reproduce the issue with the default theme

Could the issue be due to extensions?

  • I've ruled out the possibility that the extension is causing the problem.

Describe the problem

在思源中进行正则替换,能正常检索到内容,但是替换失效

Expected result

正常进行正则替换

Screenshot or screen recording presentation

2023-07-17-23-41-47.mp4

Version environment

- Version: 2.9.5
- Operating System: win10
- Browser (if used):

Log file

siyuan.log

More information

No response

@88250
Copy link
Member

88250 commented Jul 19, 2023

录屏中的替换是准备将什么替换成什么?请将输入和期待的输出描述清楚,谢谢。

@88250
Copy link
Member

88250 commented Jul 19, 2023

我这里测试待替换文本 阿布一姆贝勒神(彩插一2),正则 ([^一])一([^一]),替换字符串 $1-$2,替换结果 阿布-姆贝勒神(彩插-2),和这里的在线工具测试结果一致。

image

我先关闭了,如果还有问题请继续跟帖,谢谢 🙏

@88250 88250 closed this as completed Jul 19, 2023
@gdy106
Copy link
Author

gdy106 commented Jul 19, 2023

我这里测试待替换文本 阿布一姆贝勒神(彩插一2),正则 ([^一])一([^一]),替换字符串 $1-$2,替换结果 阿布-姆贝勒神(彩插-2),和这里的在线工具测试结果一致。

image

我先关闭了,如果还有问题请继续跟帖,谢谢 🙏

我是用图片转文字,所以识别出来所有的短横-变成了破择号里的长横—,这是我进行替换的原因。
为了修正,我查找的是—,要替换成-,但是视频里很明显了,我点击替换后实际上文本并没有发生任何改变,思源里文本还是 阿布一姆贝勒神(彩插一2),而没有显示为替换结果 阿布-姆贝勒神(彩插-2)

@88250
Copy link
Member

88250 commented Jul 19, 2023

我这里替换正常:

image

@gdy106
Copy link
Author

gdy106 commented Jul 19, 2023

我这里替换正常:

image

我再测试了,单个替换是可以正常替换的,但是点击全部替换是无效的,显示执行完成替换,但是实际上并没有对文本做出改变。
二编:
我在全新的工作空间里测试,这次无论全部替换还是单个替换都无效:

2023-07-19-23-24-56.mp4

@88250
Copy link
Member

88250 commented Jul 19, 2023

我这里重现不了,使用的是全部替换。

@88250
Copy link
Member

88250 commented Jul 19, 2023

你把可以重现问题的工作空间打包上传一下吧,谢谢。

@gdy106
Copy link
Author

gdy106 commented Jul 19, 2023

你把可以重现问题的工作空间打包上传一下吧,谢谢。
思源暂存-20230719234545.zip
我上个录屏的工作空间连集市都没开,很迷惑为啥会出现这种问题。
日志顺便也传一下:
siyuan.log

@gdy106
Copy link
Author

gdy106 commented Jul 19, 2023

就很奇怪,我在日常使用的工作空间里,是单个替换能生效,但是全部替换失效。
视频如下:

default.mp4

在测试用的连集市都没有开的干净工作空间里反而是连单个替换都无效了。

@88250
Copy link
Member

88250 commented Jul 20, 2023

你这里多了个空格吧?

image

88250 added a commit that referenced this issue Jul 20, 2023
@88250 88250 changed the title 正则替换失效 Improve find replace Jul 20, 2023
@88250 88250 self-assigned this Jul 20, 2023
@88250 88250 added this to the 2.9.7 milestone Jul 20, 2023
@88250
Copy link
Member

88250 commented Jul 20, 2023

下个版本会自动剔除首尾空格。

@gdy106
Copy link
Author

gdy106 commented Jul 20, 2023

下个版本会自动剔除首尾空格。

在新工作空间中测试,去掉查找行首的空格后正常替换了:

default.mp4

这里有个bug,正常而言,因为我查找里有多余的空格,查找结果中根本不应该检索到任何匹配的结果,但是它显示了我预期的匹配内容,替换也显示成功,只是没能应用替换结果,这里逻辑有问题。
而且我是从旧工作空间里复制过来的查找原文,说明是空白的查找输入栏里默认就有一个空格,才导致我粘贴过去的时候有未发现的空格,这点我觉得也需要优化。因为确实有可能有的人就是需要查找空格啊,如果会被自动删除的话,那就只能用\s来指代空格了吧?

目前问题依旧没有解决,因为我在常用的工作空间中用同样的文本,在确保没有多余空格的情况下依旧替换失败,我不明白两边为什么会有这样的区别:

default.mp4

@88250
Copy link
Member

88250 commented Jul 20, 2023 via email

@gdy106
Copy link
Author

gdy106 commented Jul 20, 2023

我重启了一下思源,然后点了清空查询条件之后再和之前一样查找替换,居然成功了!这个操作昨天也重复过,不知道什么原因上次不行这次居然行了。迷惑。
那应该就只有前面那个首尾有空格能检索但不能替换的问题了(虽然我还是不懂什么导致两次情况的差别)。

等晚上我们发布一个 dev 版本再看看。

@gdy106
Copy link
Author

gdy106 commented Jul 20, 2023

已更新到2.9.7 dev-1,经测试,目前正则批量替换功能正常使用。不过正则模式下的查找结果不会像关键词模式下高亮关键词,在单个块内容比较多的情况下找关键词会比较麻烦,不知道能不能让正则模式和关键词模式一样高亮关键词。

等晚上我们发布一个 dev 版本再看看。

@88250
Copy link
Member

88250 commented Jul 20, 2023

高亮目前实现不了。

@gdy106
Copy link
Author

gdy106 commented Jul 20, 2023

那只能遗憾了,展望一下以后

高亮目前实现不了。

@88250
Copy link
Member

88250 commented Sep 20, 2023

首尾空格不再自动剔除 #9229

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants