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 - 从包含符号的文本中提取字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用正则表达式从字符串中提取数字和符号

从“无符号”字节流中读取 32 位有符号值

在第一次出现符号之前从字符串中提取文本

如何从字符向量中提取包含 $ 符号的元素

Bat批处理怎么从txt中随机提取一个字符并设为变量?

在JTextArea中插入字(文本),从存储的现有文本中,同时输入