首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串比较似乎行不通。

字符串比较似乎行不通。
EN

Stack Overflow用户
提问于 2018-04-03 07:47:23
回答 2查看 86关注 0票数 2

我必须在db中插入字符串,但如果字符串在特定条件下下降,我希望首先修改它们的值。

例如,我有字符串EpatiteEpatite BEpatiteáBEpB3,希望在插入到db之前将它们更改为EP B

这是我代码的一部分:

代码语言:javascript
复制
// vaccines[index] is the string to compare
var vac = makeUniform(vaccines[index]);
const queryInsert = {
    text: 'INSERT INTO coverages (vaccine) VALUES ($1) ON CONFLICT DO NOTHING;',
    values: [vac]
}
var printText = '[INSERT Italy IN coverages]';
promises.push(postgreSQLlib.query(queryInsert, printText, false));

function makeUniform(val) {
    if(val === 'DIF' || val === 'Difterite') {
        return 'DIPH'; // diphtheria
    }
    else if(val === 'Epatite' || val === 'Epatite B' || val === 'EpatiteáB' || val === 'EpB3') {
        return 'EP B'; // hepatitis B
    }
    else if(val === 'HIB' || val === 'Hib3' || val === 'Hib') {
        return 'HIB'; // haemophilus influenzae B
    }
    else {
        return val;
    }
}

当我在psql上执行SELECT DISTINCT vaccine FROM coverages ORDER BY vaccine;时,我得到:

代码语言:javascript
复制
DIPH
DT-DTP3
DTP3
EP A
EP B
EpatiteáB
Hib
HIB
M-MPR1
M-MPR1-MPRV ...

在理论上,EpatiteáB应该在EP B中发生变化。为什么不起作用?

编辑1

vaccines[index]来自一个在线pdf,我使用 package of Node.js进行了网络抓取。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-04-03 08:10:10

首先,尝试用以下方法清理您的开发数据库:

代码语言:javascript
复制
UPDATE coverages set vaccine = 'EP B' WHERE vaccine LIKE 'Epatite%' OR vaccine = 'EpB3';

为其他人做些类似的事。

票数 0
EN

Stack Overflow用户

发布于 2018-04-03 08:13:50

尝试增加一个条件= (val==="Epatite%E1B%21")

代码语言:javascript
复制
function makeUniform(val) {
    if(val === 'DIF' || val === 'Difterite') {
        return 'DIPH'; // diphtheria
    }
    else if(val === 'Epatite' || val === 'Epatite B' || val==="Epatite%E1B%21" || val === 'EpatiteáB' || val === 'EpB3') {
        return 'EP B'; // hepatitis B
    }
    else if(val === 'HIB' || val === 'Hib3' || val === 'Hib') {
        return 'HIB'; // haemophilus influenzae B
    }
    else {
        return val;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49624857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档