AS3 / AIR 3.5仅替换字符串的一部分

时间:2013-02-11 06:15:13

标签: actionscript-3 flash air flash-cs5

AS3 | Flash CS6 | Adobe Air 3.5

我有一个非常长的字符串,最终将格式化为XML。在字符串中,我有几个实例:

<title>Some title</title>

//the following line would need changed
<title>Some title</garbage>

<title>Some title2</title>
<title>Some title3</title>

//the following line would need changed
<title>Someone's title & (his info)</garbage>

//the following line should NOT change
<another title>something else</garbage>

我需要搜索并替换所有这些:

<title>(whatever is here)</garbage>

并制作它们:

<title>(whatever is here)</title>

正如你所看到的,我不能简单地搜索和替换“垃圾”,因为它不适用于每一个实例......我只想替换那些使用&lt;标题&gt; ......不是&lt;另一个标题&gt;另请注意,不确定&lt;之间的字符是什么。标题&gt;和&lt; / garbage&gt;

所以虽然我知道这不起作用......我正在考虑以下几点:

str = str.replace(/<title>\w+<\/garbage>/, "<title>\w+<\/title>");

我认为答案是在本页的“捕捉子字符串”下,但到目前为止还没有运气: http://www.sevenson.com.au/actionscript/testing-regular-expressions/

在这一点上,我似乎只是插入随机的东西,所以只是寻求帮助更有意义。

感谢任何建议。

1 个答案:

答案 0 :(得分:0)

<title>之后和</garbage>

之前匹配任何符号
str = str.replace(/(<title>.[^<]+)<\/garbage>/, "$1</title>");

示例http://regexr.com?33nog