当前位置: 首页 > 知识库问答 >
问题:

我试着做“空”字符串检查,但我搞不清楚

卢承弼
2023-03-14

由于某种原因,我正试图制作一个自动文件修改脚本,但我被卡在了什么东西上。

我下面有源代码:

const fs = require('fs');
var str = fs.readFileSync("./premaplist.txt");
str = str.toString().split("\n");
var result = "";
str.forEach(s => {
    var addstr = s;
    if(!s.includes("[")) {
        if(s.replace(/[.YBPOKGR#]/g, "") == s)return;
        addstr = "##########";
    }
    result += addstr+'\n';
})
// fs.writeFileSync("./premaplist.txt", result);
console.log(result);

因此,我所期望的结果是让空字符串和包含[的字符串单独存在,并将其他字符串更改为########################***,但它也将空字符串替换为###########****

文本文件是特殊的吗? 还是我做错了或者遗漏了什么?

输入:

[image#1]
.....B....
..BB..BBB.
.BBBBBBB.B
BBBBBBBBB.
##########

[image#2]
GGGG......
GGGGGG....
GGGGGGG...
GGGGGGG...
GGGGGGGG..
GGGGGGGG..
GGGGGGGG..
GGGGGGGGG.
GGGGGGGGG.

[image#3]
.........K

(这样的其实有上千个)

预期产出:

[image#1]
##########
##########
##########
##########
##########

[image#2]
##########
##########
##########
##########
##########
##########
##########
##########
##########

[image#3]
##########

实际输出:

[image#1]
##########
##########
##########
##########
##########
##########
[image#2]
##########
##########
##########
##########
##########
##########
##########
##########
##########
##########
[image#3]
##########

共有1个答案

殳睿
2023-03-14

因为您正在执行返回,所以当其为空字符串时,结果中不会添加任何内容,因为您正在执行返回

试着这样做

const fs = require('fs');
var str = fs.readFileSync("./premaplist.txt");
str = str.toString().split("\n");
var result = "";
str.forEach(s => {
    var addstr = s;
    if(!s.includes("[")) {
        addstr = s.replace(/[.YBPOKGR#]/g, "") == s ?"":"##########"
    }
    result += addstr+'\n';
})
// fs.writeFileSync("./premaplist.txt", result);
console.log(result);

住在这里回复。

 类似资料:
  • 问题内容: 如何检查字符串是否不为null? 问题答案: 通过检查是否为空 如果您要检查其是否为空或为空-您需要 我更喜欢使用commons-lang

  • 问题内容: 我想知道上面的代码是否可用于检查变量是否为null或为空。 问题答案: 是的,该代码正是这样做的。 您还可以使用: 编辑: 使用添加的值信息,您需要: 一个值不能包含值。

  • 问题内容: 如何检查字符串是否不为null也不为空? 问题答案: 那呢? 确保&&按此顺序使用的部分,因为如果的第一部分&&失败,java将不会继续评估第二部分,因此确保你不会从为null的情况下得到null指针异常。 请注意,仅从Java SE 1.6起可用。你必须检查以前的版本。 也要忽略空格: (由于可以简化为也可以测试其他空白) 包裹在一个方便的功能中: 成为:

  • 问题内容: 在目标C中,可以执行以下操作来检查字符串: 如何在Swift中检测空字符串? 问题答案: 现在具有使用以下命令检测空字符串的内置功能: Apple发行前文档:“字符串和字符”。

  • 问题内容: 我有一个isNotEmpty函数,如果字符串不为空,则返回true;如果字符串为空,则返回false。我发现如果我通过它传递一个空字符串,它将无法正常工作。 使用isNotEmpty验证字符串: 如果该字符串为空,则其他字符串将不会执行,我不明白为什么,请有人对此有所帮助。 问题答案: 实际上是简单的问题。更改: 至 可以说,您可能还想将其更改为: 因为如果您传递的是数字0以及其他一些

  • 我正在处理的arraylist。 我尝试检查数组中的空索引的代码: 我试过了,但不知怎么的,验证不起作用。我想知道怎么做?有没有人知道这个问题的解决方法或工作方法?

  • 在下面的代码中,我需要检查版本字符串是否为空,然后将其值附加到请求变量。 如何检查不在if条件下?

  • str无法解析为变量Java(33554515)str无法解析或不是字段Java(33554502)