字符串查询更简洁写法咨询:能否用RegExp等工具精简现有判断代码
代码精简方案
1. 正则实现(最短写法)
完全等价原逻辑的最短正则写法,同时自动处理字符串长度不足的边界情况:
var bTest = /^<([^/]|$)/.test(szNextEntity)
如果业务场景可确保szNextEntity长度始终≥2,可进一步精简为:
var bTest = /^<[^/]/.test(szNextEntity)
正则解释:
^匹配字符串开头,<匹配第一个字符为<,[^/]匹配第二个字符不为/,|$兼容字符串仅有<一个字符的场景,test方法直接返回布尔值。
2. 非正则精简写法
不想用正则的话可以用内置方法优化可读性,逻辑和原代码完全一致:
var bTest = szNextEntity.startsWith('<') && szNextEntity[1] != '/'
用
startsWith替代索引取首字符,当字符串长度不足1时直接返回false,避免索引取值的潜在异常风险。
内容的提问来源于stack exchange,提问作者user3738290
相关产品推荐
相关产品推荐

