2017-09-13 27 views
-3

好了,所以我有一些不同的文字位,我需要找到一些關鍵數字的JavaScript在文本中發現一個未知的數量

就拿følgende文本:

上訴委員會已經決定降低約定120,000 KR租,對應於1363 KR每。平方米至92400 KR。,對應於1050 KR每。平方米。經批准的租金包括水。此外,徵收賬戶熱量的貢獻。

現在我需要在這裏找到問題的關鍵數字是1.0501.363

然而,文根各有不同,但有一點可以肯定它總是格式化爲這樣的:

number kr. pr. m^2 

所以我問題是我怎麼能得到的數字呢?

文本

屬性,其中所述租賃位於在1970年 建築面積列出的另一個例子是用於租賃和BBR61平方米。每年 租金相當於1180 KR。每。平方米在61平方米。承租人有權內 維修義務。租金由 佔領採取全面翻新,還必須提交 移民翻新。租賃在2013年3月

+0

udnytte正則表達式? –

+2

我們不鼓勵那些僅僅從背景中提出問題的帖子,並期望社羣解決它。假設你試圖自己解決它並陷入困境,那麼如果你寫下了你的想法和你無法想象的東西,這可能會有所幫助。它肯定會爲你的帖子提供更多的答案。在此之前,這個問題將被投票停止/降低投票。 – Cerbrus

+0

https://regex101.com/r/JhSoOv/1 –

回答

1

的結尾處結束嘗試此正則表達式:

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

[0-9.]它開始數字0到9或。和{1,}一個或更多的時間比來kr. pr. m,最後一位[\D\d]根²或2 的/ G betyder IT在整個搜索內容吧:

用法:

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.Ejendommen, hvori lejemålet er beliggende, er opført i 1970. Bruttoetagearealet er efter lejekontrakten og BBR 61 m2. Den årlige leje svarer til 1.180 kr. pr. m2 ved 61 m2. Lejer har den indvendige vedligeholdelsespligt. Det lejede er overtaget nyistandsat ved indflytningen og skal afleveres ligeledes nyistandsat ved fraflytningen. 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(elements)
您將得到匹配的字符串數組

+0

嘗試在發佈時解釋您的代碼 – MayorMonty

+0

'{1,}'?非轉身'.'?請再次查看該正則表達式。這是寫得不好。 – Cerbrus

-1

使用此regex:??。[+ - ]([。] [0-9] *)[0-9] + KR每。平方米

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); 
-1

正則表達式查找字符串黨城市格局的最簡單方法。

我會建議你使用正則表達式生成器,如:https://regexr.com/3go7t

function findKvadratMeterPriser(tekst) { 
 
    var regularExpression = /(\s|^)(\d)+((\.|,)*(\d)*)* kr\. pr\. m/gi; 
 
    var results = []; 
 
    tekst.replace(regularExpression, function handlePart(value) { 
 
    var findNummer = /(\d)+((\.|,)*(\d)*)*/gi; 
 
    results.push(findNummer.exec(value)[0]); 
 
    return value; 
 
    }); 
 
    return results; 
 
} 
 
console.log(findKvadratMeterPriser("Anken\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. m\u00B2. Den godkendte leje inkluderer vand. Herudover kan opkr\u00E6ves a conto varmebidrag.")); 
 
console.log(findKvadratMeterPriser("Ejendommen, hvori lejem\u00E5let er beliggende, er opf\u00F8rt i 1970. Bruttoetagearealet er efter lejekontrakten og BBR 61 m2. Den \u00E5rlige leje svarer til 1.180 kr. pr. m2 ved 61 m2. Lejer har den indvendige vedligeholdelsespligt. Det lejede er overtaget nyistandsat ved indflytningen og skal afleveres ligeledes nyistandsat ved fraflytningen. Lejem\u00E5let oph\u00F8rer med udgangen af marts m\u00E5ned 2013."));