Angular 6中使用replace()去除字符串空格,实现与数字PkId的匹配
解决Angular 6中带空格字符串与数字ID的匹配问题
嘿,这个需求我太熟了,用replace()配合简单的类型转换就能轻松搞定!下面是具体的实现思路和代码:
核心步骤拆解:
去除字符串中的所有空格
你的RefCFuenteFinanciamiento是带空格的字符串(比如" 19745 "),用replace()搭配正则表达式/\s/g可以一键清除所有空格(不管是前后还是中间的):const cleanedStr = this.RefCFuenteFinanciamiento.replace(/\s/g, '');要是你只需要去除前后空格,其实
trim()也能搞定,但既然你指定要用replace(),上面的正则方案更通用。类型统一后做比较
现在cleanedStr是不带空格的字符串"19745",而PkId是数字类型的19745,我们需要把两者转成同一类型再比较:- 方案一:把字符串转成数字
或者用const isMatch = Number(cleanedStr) === this.PkId;parseInt()(记得加第二个参数10表示十进制):const isMatch = parseInt(cleanedStr, 10) === this.PkId; - 方案二:把数字转成字符串
如果你不想折腾数字转换,直接把PkId转成字符串也能匹配:const isMatch = cleanedStr === String(this.PkId);
- 方案一:把字符串转成数字
完整示例代码:
// 假设你的组件中定义了这些变量 RefCFuenteFinanciamiento: string = " 19745 "; PkId: number = 19745; // 执行匹配逻辑 const cleanedValue = this.RefCFuenteFinanciamiento.replace(/\s/g, ''); const isMatched = Number(cleanedValue) === this.PkId; console.log(isMatched); // 输出 true,完美匹配!
小提醒:
如果你的字符串里可能混有非数字字符,建议先加个校验,比如用!isNaN(Number(cleanedValue))判断转换后的结果是否是有效数字,避免出现NaN导致比较出错哦~
内容的提问来源于stack exchange,提问作者Anfony Laguna Av
相关产品推荐
相关产品推荐

