首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从字母数字字符串中移除数值

从字母数字字符串中移除数值
EN

Stack Overflow用户
提问于 2015-06-05 09:52:47
回答 4查看 225关注 0票数 1

我希望删除字符串中的所有数值,但前提是该字符串至少包含一个字母。

我如何在JavaScript中做到这一点?

例如:

代码语言:javascript
复制
var s = "asd23asd"

那么结果必须是正确的。

不过,如果

代码语言:javascript
复制
var s = "123123"

则结果必须为123123,因为字符串没有任何字母。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-06-05 09:56:59

代码语言:javascript
复制
function filter(string){
     var result = string.replace(/\d/g,'')
     return result || string;
}

或直接

代码语言:javascript
复制
var newString = string.replace(/\d/g,'') || string;

为什么要工作

和&是条件运算符,并确定您在if中使用.

如果你做了什么

代码语言:javascript
复制
var c1 = false, c2 = true, c3= false, c4 = true;
if( c1 || c2 || c3 || c4) {
}

此评估将在有效或无效的第一分钟停止。

这个想法是,在c2中,求值停止-这个心比(假的)要快得多(真?假的)

此时,我们可以添加另一个概念,运算符总是返回计算中的最后一个元素。

返回“嘿”,记住在JS中“嘿”是真的但'‘是假的

有趣的例子:

代码语言:javascript
复制
var example = {
  'value' : {
     'sub_value' : 4
  }
}

var test = example && example.value && example.value.sub_value;
console.log(test) //4

var test_2 = example && example.no_exist && example.no_exist.sub_value;
console.log(test_2) //undefined


var test_3 = example.valno_existue.sub_value; //exception

function test_function(value){
   value = value || 4; //you can expecify default values
}
票数 13
EN

Stack Overflow用户

发布于 2015-06-05 09:56:31

你可以试试这个。首先检查单词是否包含任何字母表,如果是,则替换。

代码语言:javascript
复制
var s = "asd23asd";
if(/\w+/.test(s))
    s = s.replace(/\d+/g, '');
票数 3
EN

Stack Overflow用户

发布于 2015-06-05 09:55:25

代码语言:javascript
复制
([a-zA-Z]+)\d+|\d+(?=[a-zA-Z]+)

您可以尝试this.Replace by $1.See演示。

https://regex101.com/r/nS2lT4/27

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30663518

复制
相关文章

相似问题

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