Typescript - 从包含符号的文本中提取字符串[重复]
Posted
技术标签:
【中文标题】Typescript - 从包含符号的文本中提取字符串[重复]【英文标题】:Typescript - extract string from Text containing symbols [duplicate] 【发布时间】:2021-04-13 23:50:19 【问题描述】:原文
var serverData = "12345 - Hello How are you!"
var serverData_1 = "12 - Washington"
var otherData = "965 - FileData"
如何从这 3 个字符串中仅提取数字。 这样我就可以得到:
var server1 = "12345" from var serverData
var server2 = "12" from var serverData_1
var server3 = "965" from var otherData
【问题讨论】:
【参考方案1】:您可以使用简单的正则表达式,例如:
var serverData = "12345 - Hello How are you!";
var serverData_1 = "12 - Washington";
var otherData = "965 - FileData";
console.log(/\d+/.exec(serverData)[0]);
console.log(/\d+/.exec(serverData_1)[0]);
console.log(/\d+/.exec(otherData)[0]);
【讨论】:
【参考方案2】:如果你总是有“ - ”,你可以使用 split 命令:
var server1 = serverData.split(" - ", 1);
【讨论】:
【参考方案3】:您可以使用正则表达式。
示例
var serverData = "12345 - Hello How are you!"
var serverData_1 = "12 - Washington"
var otherData = "965 - FileData"
var server1 = /\d+/.exec(serverData)[0]; //result "12345"
var server2 = /\d+/.exec(serverData_1)[0]; //result "12"
var server3 = /\d+/.exec(otherData)[0]; //result "965"
【讨论】:
【参考方案4】:如果字符串的结构总是以这种形式“NUMBER - TEXT”
你可以使用
var server1 = serverData.split(' - ')[0];
var server2 = serverData_1.split(' - ')[0];
var server3 = otherData.split(' - ')[0];
但如果你需要更通用的
var server1 = /\d+/.exec(serverData)[0];
var server2 = /\d+/.exec(serverData_1)[0];
var server3 = /\d+/.exec(otherData)[0];
【讨论】:
【参考方案5】:var serverData = "12345 - Hello How are you!";
var serverData_1 = "12 - Washington";
var otherData = "965 - FileData";
function getNumbers(txt)
var numb = txt.match(/\d/g);
numb = numb.join("");
return numb;
console.log(getNumbers(serverData));
console.log(getNumbers(serverData_1));
console.log(getNumbers(otherData));
更多方法请参考:Extract a number from a string (javascript)
【讨论】:
以上是关于Typescript - 从包含符号的文本中提取字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章