批量替换require成import

2020-04-14 10:54:47

由于webpack3不在能require 和import混用,使用了一个老的js库,他是混用的。

需要对文件进行改动,改动的还不小。文件特别多。

看来得写脚本了。

不过idea的正则替换不错,稍微研究了下。我用下面的正则表达式进行了替换。


正则表达式如下

var (isArray) = require\((.*?)\)    替换成   import  $1 from $2

实际操作结果如下

var isArray = require('../base/isArray')

替换成了

import  isArray from '../base/isArray'


成功。


参考内容如下

IDEA实现正则批量替换

一、场景

假如:有这样几行代码

<img src="/images/csscreate.png" />

<img src="/images/httpxieyi-.png" />

<img src="/images/jsbibao.png" />

现在需要替换成

<img src="/images/csscreate.png" th:src="@{/images/csscreate.png}" />

<img src="/images/httpxieyi-.png" th:src="@{/images/httpxieyi-.png}" /> 

<img src="/images/jsbibao.png" th:src="@{/images/jsbibao.png}" /> 


二、实现步骤

1. 选中其中一个img中的src部分,比如:src="/images/csscreate.png" ;

2. 按下快捷键 Ctrl + R ;

3. 在编辑器左上方会弹出两个输入框,上面的待替换的字符串,下面的则是替换后的结果;

4. 将上面的输入框中的 src="/images/csscreate.png" 修改为 src="(.*?)" ;

5. 将下面的输入框,填入src="$1" th:src="@{$1}" ;

6. 再点击输入框后面的 replace all 按钮,即替换成功!


分析:

1. src="(.*?) 中的 .*? ,表示替换任意字符;

2. src="$1" th:src="@{$1}" 中的 $1 , 表示取上面正则中第一个花括号匹配的内容;



  • 2020-01-30 11:19:58

    Android中添加两个(多个)FileProvider节点问题

    我们知道在android7.0,修改了对私有存储的限制,导致在获取资源的时候,不能通过Uri.fromFile(..)来获取uri了,但是在写入数据的时候是可以通过Uri.fromFile(..)来获取uri的,android 官网给出的解决办法是通过FileProvider来解决这一问题,我们需要在AndroidManifest.xml 配制provider节点。

  • 2020-02-02 15:40:36

    Apache Commons IO之IOUtils优雅操作流

    在开发过程中,你肯定遇到过从流中解析数据,或者把数据写入流中,或者输入流转换为输出流,而且最后还要进行流的关闭,原始jdk自带的方法写起来太复杂,还要注意各种异常,如果你为此感到烦恼,那IOUtils可以让我们优雅的操作流。

  • 2020-02-02 19:24:38

    百度视频SDK,突然不能播放

    开发过程中,不知道什么时候开始视频不能播发了,怎么办都不行,其他项目没问题,线上都也没有问题,这可急躁完蛋我了,整了仨小时,还是那熊样。 哎。

  • 2020-02-04 18:43:10

    AssetManager.finalize() Timed Out 解决办法以及分析

    在我们的项目崩溃中,有一个比较常见的bug,就是 java.util.concurrent.TimeoutException android.content.res.AssetManager.finalize() timed out after 10 seconds 意思简单明了,就是说在AssetManager析构的时候发生了超时异常。

  • 2020-02-06 13:32:10

    android.os.NetworkOnMainThreadException

    在Android 4.0以上,网络连接不能放在主线程上,不然就会报错android.os.NetworkOnMainThreadException。但是4.0下版本可以不会报错。