gpt4 book ai didi

android - Notepad++ Regex 如何替换字符但仅在双引号之间

转载 作者:行者123 更新时间:2023-11-29 21:32:22 24 4
gpt4 key购买 nike

我希望将第一对双引号 (") 之间的所有下划线 (_) 字符替换为句号 (.) 在这个 .xml 中

我使用了这个正则表达式 android:name="([A-Za-z0-9_.]+)" 并得到了选择 android:name="com_android_contacts",但如何将 _ 更改为 . 在此选择中?

<package-redirections android:name="com_android_contacts" android:resource="@xml/com_android_contacts" android:minSdkVersion="16" />

<package-redirections android:name="com.android.contacts" android:resource="@xml/com_android_contacts" android:minSdkVersion="16" />

谢谢。

最佳答案

您可以使用正则表达式:

(?:android:name="[^"_]*)\K_([^"_]*)

并根据需要多次替换为.$1,直到没有更多的替换。

确保您选择了正则表达式搜索。我不确定版本差异,但这适用于 v6.1.8。

这适用于 android.name 属性中任意数量的点。

\K 重置匹配,这样你就不必放回 android:name


顺便说一句:在 PCRE 风格的正则表达式中,你可以使用这个:

(?:android:name="[^"_]*|\G)\K_([^"_]*)

一次替换将所有下划线替换为点。

\G 在上一场比赛结束时进行比赛。

关于android - Notepad++ Regex 如何替换字符但仅在双引号之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19134983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com