flash与字符串:抽离安卓xml描述文件ID
发布时间:2020-12-15 07:19:02 所属栏目:百科 来源:网络整理
导读:第一次接触android 时候,为了加快自己敲打速度,尝试这个正则去匹配id取值。 写这个主要的目的是尝试学习使用这个正则,使用这种方式钱匹配里面字符串内容。 (.*?)” 这种方式去匹配一个组件类型。 但是这种字符串很受格式影响,一个空格也好换行也好也会
第一次接触android 时候,为了加快自己敲打速度,尝试这个正则去匹配id取值。 下面做了一个小工具。对于这些声明 可以快速地 处理。既学习正则也可以体现一下这种与字符串打交道乐趣。 使用AIR 可以做的更加极致一点很方便去调用。 import flash.text.*;
var codeText:TextField = new TextField();
codeText.text = "粘贴Egret代码";
codeText.width = 736.95;
codeText.height = 223.85;
codeText.type = TextFieldType.INPUT;
codeText.border = true;
codeText.x = 25;
codeText.y = 20;
codeText.multiline = true;
addChild(codeText);
var resultText:TextField = new TextField();
resultText.text = "输出结果";
resultText.width = 736.95;
resultText.height = 223.85;
resultText.type = TextFieldType.DYNAMIC;
resultText.border = true;
resultText.x = 25;
resultText.y = 262;
resultText.multiline = true;
addChild(resultText);
stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDownHandler);
function onKeyDownHandler(event:KeyboardEvent):void {
if (event.keyCode == 13)
{
changeCode();
}
}
//抽离id值
function changeCode():void {
var codeStr:String = codeText.text;
var array:Array = codeStr.split("r");
var typeReg:RegExp = new RegExp("<(.*?)s","gi");
var reg:RegExp =/id/(.*?)"/ig;
var resultStr:String = "";//结果1
var resultStr2:String = "";//结果2
var flag:int = 1;
var typeStr:String = "";
var idStr:String = "";
for each (var str:String in array)
{
//搜索空格符
var typeTempArray:Array = str.match(typeReg);
if ( flag==2)
{
var defTempArray:Array = str.match(reg);
typeTempArray = str.match(typeReg);
if (typeTempArray && typeTempArray[0])
{
typeStr = typeTempArray[0].replace("<","");
}
if (defTempArray && defTempArray[0])
{
idStr = defTempArray[0].replace("id/","").replace(""","");
//trace("获取到ID对象"+typeStr);
resultStr += "private #2 #1;".replace("#1",idStr).replace("#2",typeStr) + "n";
resultStr2 += "#1=(#2)findViewById(R.id.#1) ;".replace(/#1/ig,idStr).replace(/#2/ig,typeStr) + "n";
flag = 1;
}
}
if (typeTempArray && typeTempArray[0])
{
flag = 2;
typeStr = typeTempArray[0].replace("<","");
}
}
resultText.text = resultStr+"n"+resultStr2;
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- org.xml.sax.SAXParseException: The prefix "context&
- ruby – rspec – 匹配选择之一
- OAF 系列教程 五 更新UPDATE
- 用通配符搜索指定文件夹中的文件
- Cocos Creator 监听和发射事件(摘自官方文档)
- ruby-on-rails-3.2 – 动画页面:用涡轮变化
- 推荐长文 | 用 Swift 实现通知推送的新手指南
- EF 配置Oracle数据库 EF ORA-01918: 用户 'dbo' 不
- R中的聚合函数同时使用两列
- react-navigation 的抽屉效果 createDrawerNavigator (Draw