我需要通过JS替换文件中的版本号,而且我很难只针对我需要的特定部分。我已经将文件的内容读入一个变量,并将用修改后的内容覆盖整个文件。该文件看起来如下(标准wordpress style.css):
/******************************************************************
Theme Name: Starter Theme
Theme URI:
Description: Custom Wordpress starter theme
Author:
Author URI:
Version: 1.0.0
Tags: fluid-layout, responsive-layout, translation-ready
License: WTFPL
License URI: http://sam.zoy.org/wtfpl/
------------------------------------------------------------------*/
.sticky {} /* DO NOT EDIT THIS */
.gallery-caption {} /* THESE ARE USELESS */
.bypostauthor {} /* THEY ARE ONLY TO KEEP THEME CHECK HAPPY */问题的一部分是这个Version: 1.0.0
有几个细微差别似乎让这件事变得很困难。I只需要更改第三个数字 (0),因为前两个(1.0)是为手工编辑保留的,并且需要保持原样(,所以我不能只替换整个字符串或行)。我一直试图通过子字符串和/或regex提取最后一个数字,但似乎找不出正确的方法(因为它周围的内容不是静态的,加上版本字符串以换行符结尾)。任何帮助都将不胜感激。
发布于 2020-04-19 12:52:52
let newVersion = 3;
content = content.replace(/^Version: \d+\.\d+\.\d+$/mg, function(match, index) {
return match.replace(/\.\d+$/, '.' + newVersion);
});发布于 2020-04-19 12:37:42
根据browser/nodejs使用readline /a for循环枚举每一行并查找字符串版本,相应地更改编号。
https://stackoverflow.com/questions/61304376
复制相似问题