3

我有文本格式的日期,例如:

6 weeks ago, 2012 April 18 15:08:18
13 weeks ago, 2012 March 01 17:33:52

主要问题是这些文本实际上是俄文,所以不是weeks ago有相同的俄文文本。几个月也是如此(看起来我应该创建一些可能值的字典)。

我不知道如何开始。我应该使用正则表达式吗?还有什么?

4

1 回答 1

2

不是俄语,而是波兰语:

var dateStr = "6 tygodni temu, 2012 kwiecień 18 15:08:18"

Firefox 在提取 Unicode 字符方面没有问题(快速和肮脏的正则表达式):

var regex = /(\d+) ty.* temu, (\d+) (.*) (\d+) (\d{2}):(\d{2}):(\d{2})/

解析:

var result = dateStr.match(regex);

result

[
  "6 tygodni temu, 2012 kwiecień 18 15:08:18",
  "6",
  "2012",
  "kwiecień",
  "18", 
  "15",
  "08",
  "18"
]

我不懂俄语,但你可能需要做一些额外的语言工作。例如,在波兰语中,我有“ 1 tydzień ”但“ 2 tygodnie ”甚至“ 5 tygodni ”(注意不同的形式)。

于 2012-06-03T10:13:32.407 回答