JavaScript在文本中查找未知数字

JavaScript在文本中查找未知数字,javascript,full-text-search,Javascript,Full Text Search,好的,我有一些不同的文本位,我需要找到一些关键的数字 以以下文本为例: 在内德斯瓦伦德,从120.000克朗到1.363克朗/平方米,从92.400克朗到1.050克朗/平方米。我是戈德肯特·莱杰·因克卢德勒·范德。Herudover kan opkræves a conto varmebidrag 现在我需要在这里找到的关键数字是1.050和1.363 但是,文本可能会有所不同,但有一点可以肯定,它的格式始终是这样的: number kr. pr. m^2 所以我的问题是,我怎样才能把数字拿

好的,我有一些不同的文本位,我需要找到一些关键的数字

以以下文本为例:

在内德斯瓦伦德,从120.000克朗到1.363克朗/平方米,从92.400克朗到1.050克朗/平方米。我是戈德肯特·莱杰·因克卢德勒·范德。Herudover kan opkræves a conto varmebidrag

现在我需要在这里找到的关键数字是
1.050
1.363

但是,文本可能会有所不同,但有一点可以肯定,它的格式始终是这样的:

number kr. pr. m^2
所以我的问题是,我怎样才能把数字拿出来

另一个文本示例

Ejendommen,hvori lejemålet er beliggende,er opført i 1970。 Bruttoetagearealet efter lejekontrakten og BBR 61平方米。德尼里奇 leje svarer至1.180 kr.公共区域面积为61平方米。莱杰·哈尔登·因德文迪奇酒店 维德利格霍尔德斯普利特。nyistandsat ved lejede街 这是一个非常有趣的故事 弗雷特宁根。Lejemålet ophårer med udgangen af marts måned 2013


试试这个正则表达式:

/[0-9.]{1,} kr. pr. m[\D\d]/g
[0-9.]
它开始于数字0-9或。和
{1,}
1次或多次,最后一位
[\D\D]
可以是²或2 /g表示它在整个内容中搜索它:

用法:

/[0-9.]{1,} kr. pr. m[\D\d]/g
var str=“从12万克朗至1.363克朗/平方米至92.400克朗至1.050克朗/平方米,位于内德斯瓦伦特后的维达吉特。我是戈德肯特·莱杰·因克卢德勒·范德。Herudover kan opkræves a conto varmebidrag.Ejendomen,hvori lejemålet er beliggende,er opført i 1970。Bruttoetagearealet efter lejekontrakten og BBR 61平方米。在1.180 kr.公共面积平方米和61平方米之间。莱杰·哈尔登·因德文迪格·维德利霍尔德酒店。在纽约州和弗雷特宁市的道路上行驶车辆。Lejemålet ophører med udgangen af marts måned 2013。”

var regex=/[0-9.]{1,}kr.pr.m[\D\D]/g

var elements=str.match(regex);

console.log(元素)

您将得到一个带有匹配字符串的数组,使用以下命令:[+-]([0-9]*[.])?[0-9]+kr.pr.m²

var str = 'Ankenævnet har vedtaget at nedsætte den aftalte leje fra 120.000 kr. svarende til 1.363 kr. pr. m² til 92.400 kr. svarende til 1.050 kr. pr. m². Den godkendte leje inkluderer vand. Herudover kan opkræves a conto varmebidrag.';
var re = /[+-]?([0-9]*[.])?[0-9]+ kr. pr. m²/i;
var match= str.match(re);

正则表达式是按模式查找字符串部分的最简单方法

我建议您使用正则表达式生成器,如:

功能findKvadratMeterPriser(tekst){
var正则表达式=/(\s|^)(\d)+(\.|,)*(\d)*)kr\.pr\.m/gi;
var结果=[];
tekst.replace(正则表达式、函数句柄部分(值){
var findNummer=/(\d)+(\.|,)*(\d)*)*/gi;
push(findNummer.exec(value)[0]);
返回值;
});
返回结果;
}
console.log(findKvadratMeterPriser(“neds\u00E6vnet har vedtaget at neds\u00E6tte den aftalte leje fra 120.000 kr.svarende til 1.363 kr.pr.m\u00B2 til 92.400 kr.svarende til 1.050 kr.pr\u00B2.den godkendte leje inkluderer vand.Herudover kan opkr\u00e6ve a conto varmebidrag.”);

console.log(findKvadratMeterPriser(“Ejendommen,hvori lejem,Let er beliggende,er opf\u00F8rt i 1970。Bruttoetagearealet,Ejekontrakten og BBR 61 m2。Den\u00E5rlige Lejee svarer,直到1.180 kr.pr.m2 ved 61 m2。Lejer har Den dend dend indvendige vedlige vedligeholdelesspligt。Det lejede er er overtage en Nyistage和Det Indflytnistand indflytningen og skal afeveres Ligeles Nyides Nyistand和Vedligen Flytningen。Lejem\u00E5let oph\u00F8rer med udgangen af marts m\u00E5ned 2013年。”)
使用正则表达式?我们不鼓励那些只是断章取义地陈述一个问题的帖子,并希望社区能够解决它。假设你自己试图解决它,但陷入困境,如果你写下你的想法和你无法理解的东西,这可能会有所帮助。它肯定会为你的帖子找到更多答案。在那之前,问题将是肯定的ted将被关闭/否决。在发布
{1,}
时尝试解释您的代码?未替换
?请再次查看该正则表达式。它编写得相当糟糕。