有鑑於此:如何將字符串拆分爲相應的對象?
const MATCH_NAME = /\s+([a-z]+)\s+/i;
function parseDates(input) {
const parts = input.split(MATCH_NAME);
const result = {
dates: [],
year: null
};
while (parts.length > 2) {
const [days, month, suffix] = parts.splice(0, 2);
result.dates.push({
month,
days: days.split(/\D+/),
suffix
});
}
result.year = parts[0];
return result;
}
console.log(parseDates('12-5 November 17 May 1954 CE'));
console.log(parseDates('1 January 1976 CE'));
console.log(parseDates('12 22 March 1965'));
的year
OBJ像1976 CE
而CE
應在suffix
結束。
好一會:
Month: November
Days: 12, 5
Month: May
Days: 17
Year: 1954
Suffix: CE
首先,您需要定義所有可能的日期輸入組合。然後匹配那些組合。 – Tschallacka
我的建議,爲字符串使用預先定義的模式 – Rajesh
@Tschallacka這裏列出的日期是定義日期https://stackoverflow.com/questions/45555581/how-to-check-if-numbers-precedes-a- more-verbal-string – downFast