【发布时间】:2015-12-10 13:09:11
【问题描述】:
我需要制作一个生成此代码的脚本:
<CharacterStyleRange FillColor="">
<Properties>
<AppliedFont type="string">Agency FB</AppliedFont>
</Properties>
<Content>Hallo</Content>
</CharacterStyleRange>
<CharacterStyleRange FillColor="" FontStyle="Bold">
<Properties>
<AppliedFont type="string">Agency FB</AppliedFont>
</Properties>
<Content>ik</Content>
</CharacterStyleRange>
<CharacterStyleRange FillColor="">
<Properties>
<AppliedFont type="string">Agency FB</AppliedFont>
</Properties>
<Content>ben een zin</Content>
</CharacterStyleRange>
<CharacterStyleRange FillColor="" FontStyle="Bold">
<Properties>
<AppliedFont type="string">Agency FB</AppliedFont>
</Properties>
<Content>Met bold</Content>
</CharacterStyleRange>
从这里:
Hallo [bold]ik[/bold] ben een zin [bold]met bold[/bold]
基本上我想要的是用 [bold] [/bold] 标签去除句子,并为它创建一个新的(所有其他项目如图所示)。
我已经尝试了几件事,但无法让它正常工作,所以现在我在这里问它。
它必须转换成的语言是 IDML(这种语言用于构建 InDesign 文档)
【问题讨论】:
-
@ChrisDavis
var str = "Hallo [bold]ik[/bold] ben een zin [bold]met bold[/bold]"; var spited = str.split("[bold]"); console.log(spited.toString().replace(",", "").split("[/bold]")); if(str.indexOf("[bold]") != -1){ console.log(str.indexOf("[bold]") + "contains [bold]"); }else{ console.log(str.indexOf("[bold]") + "does not contain [bold]"); } -
看起来您需要
str.split(" ")和regex的组合。在这种情况下你可以使用正则表达式吗? -
@benjaminz 允许使用它是什么意思?可以举个例子吗?
标签: javascript json idml