关于引号替换问题

使用问题 · 389 次浏览
Xanwus 创建于 2023-12-26 10:36

原始文本

目标文本

需求说明:

将原始文本中的这种直引号替换成目标文本中的弯引号。

“统一为弯引号”没有反应。

如果换成通常的方法,原来的直引号两边是一样的格式,所以一次性替换成弯引号也会变成一样的,这种情况怎么解决?


咿呀杀杀 2023-12-26 10:43 :

我测试没问题,如果你用的是自定义工具栏,参照原始工具栏看看代码对不对,因为中途改过子程序名称的。

 [-]统一为直引号("Delia said, 'This will never work.' ")|call:auto$rauto$sp$规范标点?op=统一为直引号
[-]统一为弯引号(“老师,‘有条不紊’的 ‘紊’是什么意思?”)|call:auto$rauto$sp$规范标点?op=统一为弯引号
[-]统一为直角引号(「老师,『有条不紊』的 『紊』是什么意思?」)|call:auto$rauto$sp$规范标点?op=统一为直角引号

Xanwus 回复 咿呀杀杀 2023-12-26 11:17 :

好了,完美!

问一下,默认自定义工具栏的话,怎么会没更新呢?

我应该还有其他代码没更新到位吧?怎么设置是跟随同步更新代码的?

咿呀杀杀 回复 Xanwus 2023-12-26 11:37 :

想要跟随作者更新,使用「原始工具栏」。


Xanwus 回复 咿呀杀杀 2023-12-26 11:39 :

那就是说,平时可以用自定义,更新前切换成原始工具栏即可?

咿呀杀杀 回复 Xanwus 2023-12-26 11:50 :

不是这样理解的。功能都是一样的,原始工具栏是作者的出厂设置,所有功能按照一定的分组和顺序提供。如果用户觉得有些按钮我不需要、功能的分组不符合自己的使用习惯、某些按钮图标我要自定义等等,他就可以使用「自定义工具栏」进行自定义。如果作者新增了某个功能,用户参考「原始工具栏」拷贝过来就行了。

如果你自己操作过「文本窗口」这个Quicker模块,就很容易理解了。

Xanwus 回复 咿呀杀杀 2023-12-26 11:56 :

我大概理解了

我刚才以为,如果我默认自定义工具栏,那么更新时,原始工具栏不会同步更新

原来是错觉,刚才改的时候确实只改了自定义工具栏,原始工具栏部分与你回复的一致。

我之前都是把原始的也全部复制到自定义,只是多了一个【常用项目】列,你这么解释的话,确实可以精简一下,只保留一部分就行了。

谢谢大神的回复

Xanwus 回复 咿呀杀杀 2023-12-30 15:00 :

字母大小写不正常了吗?我这边默认是以下代码,原始和自定义都一样,没作用

[-]首字母大写|call:auto$rauto$in$toTitleCase
[-]字母全大写|call:auto$rauto$in$toUpper
[-]字母全小写|call:auto$rauto$in$toLower

咿呀杀杀 回复 Xanwus 2023-12-30 16:02 :

现在这个代码在文本窗口是能用的,但是在“显示菜单”不能用。我应该是忘了改成通用的了。

你可以在自定义工具栏中先改过来:

[-]首字母大写|call:auto$rauto$sp$文字转换?op=首字母大写
[-]字母全大写|call:auto$rauto$sp$文字转换?op=字母全大写
[-]字母全小写|call:auto$rauto$sp$文字转换?op=字母全小写

Xanwus 回复 咿呀杀杀 2023-12-30 16:08 :

可以了哈

对了,文本窗口中【文件】下的【发送】只能发送整个窗口的文本内容,可以支持仅发送选中内容到当前窗口吗?适合将编辑好的内容逐个发送到不同行列的情景。
或者说其他动作有支持的不?

咿呀杀杀 回复 Xanwus 2023-12-31 10:49 :
已改进,默认发送选中文本,若无选中则发全文。
Xanwus 回复 咿呀杀杀 2023-12-31 12:59 :

确实有效。

不过,有一个问题,发送功能没有持续模式,想要继续操作就得重新打开了。这个受文本窗模块限制吗?

咿呀杀杀 回复 Xanwus 2024-01-01 11:21 :

应该是可以实现的,下个版本加上。

咿呀杀杀 回复 Xanwus 2024-01-01 11:46 :

必须关闭文本窗才行,只能 关闭-发送-重新弹出 了。

Xanwus 回复 咿呀杀杀 2024-01-01 12:11 :

好的,还是谢啦

我自己做了个“发送至XXX”的动作了,比较粗糙,只能针对一个应用,得手动改进程

Xanwus 回复 咿呀杀杀 2024-06-11 15:19 :

大神,我复制了一篇 中英对照的文本,几行中文之后是几行对应的英文,如此反复,

如果我要提取英文译文,而不要中文原文的文本(或者相反的情况),但是中文部分可能包含有英文以及英文标点符号,没办法直接用清除中文或筛选英文

我该如何提取呢?

咿呀杀杀 回复 Xanwus 2024-06-11 15:31 :

得有规律特征给程序判断「什么是中文行」才行。比如,中文行和英文行的连续行数是固定的、包含或不包含xxx字符就是中文行……等等。

Xanwus 回复 咿呀杀杀 2024-06-11 15:35 :

比如,以行为单位(文本窗中显示的行),只要包含中文字符,包括汉字或中文标点,则清除整行

或者,一行中,中文字符超过英文字符,则判断是中文行,清除整行

咿呀杀杀 回复 Xanwus 2024-06-11 15:55 :

试试正则筛选。

可自行修改正则。例如,判断依据是「3个汉字以上」,则改为 [一-龟]{3,}


咿呀杀杀 回复 Xanwus 2024-06-11 15:58 :

方法二:根据中英文字符数判断,删除中文行

使用「超级替换」

查找:[^\r\n]+\r?\n?
替换为:$= var en = Regex.Matches($&, @"[\x21-\xFF]"); var cn = Regex.Matches($&, @"[^\x00-\xFF]"); cn.Count > en.Count ? "" : $&;


Xanwus 回复 咿呀杀杀 2024-06-11 16:14 :

正则筛选有效哈,感谢!

Xanwus 回复 Xanwus 2024-06-12 17:14 :

大神,正则表达实在太好用了,虽然我是零基础,但是通过ChatGPT,我写了好几个实用的表达式

我现在遇到一个场景

一大篇英文文本,有些段落包含了多个句子。

我想要全篇弄成每行仅一个句子,这个动作好像无法实现是吧(有一个按照标点分隔符拆分,这个可以多个分隔符写进去吧好像?不过,遇到英文的句号,会出现缩写等例外情况),超级文本替换好像无法处理大量的文字?

这个是我的表达式:

(?<!\b(?:et al|i\.e|e\.g|A\.M|P\.M))([.!?」”])\s+(?![a-z])   

$1\n

请问,怎么实现大批量替换?

Xanwus 回复 咿呀杀杀 2024-06-12 18:51 :

今天我先用【超级文本替换】的正则表达式分批替换

这个场景如果我以后经常用,是否有收藏的功能,可以一键实现,不需要再调出两个框分别填写。

而且目前虽然可以下拉列表中找历史记录,但是有的太复杂,对于我这种没基础的人可能容易搞混。我是尝试将一个个表达式和替换式用【常用语】动作收集,但还是不够方便就是了。


咿呀杀杀 回复 Xanwus 2024-06-12 22:14 :

超级文本替换」这个动作本身是支持保替换规则的,你用这个动作管理个人的替换规则就行。
可以直接选中编辑器中文本,然后执行这个动作。

如果想把这个动作或其中的某条替换规则添加到「文本编辑器」的菜单,请参考置顶贴  如何自定义编辑器的工具栏菜单?

Xanwus 回复 咿呀杀杀 2024-06-14 17:30 :

OK,学会了

我想要继续用正则替换文本,但涉及到格式改变,如变成斜体,不知道怎么继续写下去。

场景:选中一段文字,提取其中由两个星号(*)包裹的内容,执行Ctrl+I变斜体的效果,并删除星号。

以下是我写的动作,但是我懂得不多,对各模块不熟悉,下面标红部分之后就写不下去了,不知道如何选中processedMatch,再执行ctrl+i

整体思路就是,选中,正则提取星号内的内容,得到matches,对匹配的项目,执行清除两端星号,得到processed match, 想要对processed match执行斜体,但不知道怎么选中,特来求教大神。



咿呀杀杀 回复 Xanwus 2024-06-14 21:59 :

把 Markdown 文本变成某个编辑器中的富文本?

Xanwus 回复 咿呀杀杀 2024-06-14 22:28 :

其实是CHATGPT翻译 MLA格式的文献格式,会输出MD * 号表示斜体,但我要编辑的地方无法使用markdown,想要批量替换成斜体并删除星号。

咿呀杀杀 回复 Xanwus 2024-06-15 13:55 :

对使用场景不了解,给不了建议

Xanwus 回复 咿呀杀杀 2024-06-15 14:02 :

假设是在可以通过ctrl+i实现斜体的office软件,如WPS或word

简单的例子:

Boyer, P. *Philosophy of Religion*. China Renmin University Press, 2006.

我想要批量将类似上面的例子,即 每条 文献中都有一对星号, 将星号包裹的内容变成斜体,并将星号去掉


咿呀杀杀 回复 Xanwus 2024-06-15 14:12 :

只需考虑 * 吗?还是说基本的Markdown语法都要考虑

Xanwus 回复 咿呀杀杀 2024-06-15 14:19 :

我暂时是遇到这种情况,只要把它理解成一对符号即可,

如果遇到其他的,感觉是否也可以简单替换成某种符号,然后以类似的方法替换

Xanwus 回复 咿呀杀杀 2024-06-15 14:38 :

谢谢。这个动作在wps中有效

不过,在一个翻译辅助软件中只能去除星号,无法斜体

可能不支持HTML吧

Xanwus 回复 Xanwus 2024-06-15 14:40 :

实在不行,我只能先把文字导出到wps再导回去,只是麻烦了一些

这个软件估计只能支持ctrl+i斜体吧


Xanwus 回复 咿呀杀杀 2024-06-30 20:09 :

大神,有时候会间断性将文本复制到编辑窗口中

这种情况需要反复复制和粘贴,甚至还要加换行符,比较繁琐

是否可以设置成,在打开文本编辑窗状态下,选中文本运行动作时,以追加形式将选中文本添加到窗口最后一行

或者可以设置成偏好,由用户自由开关


咿呀杀杀 回复 Xanwus 2024-07-01 11:58 :

先记下

回复内容
暂无回复
回复主贴