4

我正在从维基词典 API 中检索一些数据。他们的 API 解析没有 html 属性或 xml 属性的整个文本块。

文本示例:

===Etymology===
{{-er|develop}}

===Pronunciation===
* {{a|UK}} {{IPA|/dɪˈvɛləpə(ɹ)/}}
* {{a|US}} {{IPA|/dɪˈvɛləpɚ/}}

===Noun===
{{en-noun}}

# A person or entity engaged in the [[creation]] or [[improvement]] of certain classes of products.
# A [[real estate]] developer; a person or company who prepares a parcel of land for sale, or creates structures on that land.
# A [[film]] developer; a person who uses [[chemical]]s to create [[photograph]]s from photograph negatives.
# A [[liquid]] used in the chemical processing of traditional photos.
# A [[software]] developer; a person or company who creates or modifies [[computer]] software.

====Synonyms====
* {{sense|person or company who writes computer software}} [[programmer]]

====Related terms====
* [[develop]]
* [[development]]
* [[developmental]]

是否可以选择 ===Noun=== 和 ====Synonyms==== 之间的文本? 例如,我想以这个结束:

  • 从事某些类别产品的创造或改进的个人或实体。
  • 房地产开发商;准备出售一块土地或在该土地上建造建筑物的个人或公司。
  • 胶片显影剂;使用 [[化学]] 从照片底片创建 [[照片]] 的人。
  • 一种用于对传统照片进行化学处理的液体。
  • =======================

    整个文本块可以在此处找到:http ://pastebin.com/raw.php?i=5ETx4ivB ,API 的结果可以在此处以 XML 形式找到:http ://en.wiktionary.org/ w/api.php?action=query&prop=revisions&rvprop=content&format=xml&titles=developer

    4

    2 回答 2

    1

    你能试一下吗

    var start  = str.indexOf('===Noun==='), end = str.indexOf('====Synonyms====');
    var text = str.substring(start + 11, end) // +11 since `indexof` gives the start index and you need to exclude `===Noun===`
    
    于 2013-03-01T03:07:30.667 回答
    0

    使用 indexOf() 查找子字符串的位置,然后使用 substr() 获取您找到的两个位置之间的字符串。

    于 2013-03-01T03:02:58.970 回答