我试图在我的资源中查找View包含background =" @ + id / play_bubble"并用自定义视图泡泡替换视图。
所以当前View
看起来像这样:
<View
android:id="@+id/obstacle3"
android:layout_height="@dimen/obstacle_width"
android:layout_width="@dimen/obstacle_width"
android:background="@drawable/play_bubble"
android:layout_alignParentLeft="true"
android:layout_above="@id/obstacle2" />
我希望它能够找到包含特定背景的所有View对象,而不管其他属性如何。我虽然没有得到任何结果。
替换后我的最终结果应如下所示:
<Bubble
android:id="@+id/obstacle3"
android:layout_height="@dimen/obstacle_width"
android:layout_width="@dimen/obstacle_width"
android:background="@drawable/play_bubble"
android:layout_alignParentLeft="true"
android:layout_above="@id/obstacle2" />
非常感谢任何帮助。
编辑:
所以这就是我正在处理的界面。我根本不熟悉正则表达式,所以我不确定我是否正确输入内容,但它没有返回任何结果。 Find/Replace
答案 0 :(得分:2)
由于你提到简单的查找/替换,这个正则表达式应该这样做。
查找:<View(\s+[^>]*?)background="@\+id/play_bubble"([^>]*?/>)
替换:<Bubble$1background="something_new"$2
格式化:
<View
( # (1 start)
\s+
[^>]*?
) # (1 end)
background="@\+id/play_bubble"
( # (2 start)
[^>]*?
/>
) # (2 end)