我有一个java文件,我从android获得,它有一些硬编码值。基本上我们有一个文件,它创建一个country类型的对象并将其添加到列表中。
我希望获得相同的功能,但我不确定查找和替换文件内容所需的注册表。 基本上这就是它中的一条线看起来像......
countries.add(new Country("af", "Afghanistan", 93));
这就是我想要的样子
[countries addObject:[[Country alloc] initWithArray:@[@"af",@"Afghanistan",@"93"]];
你认为正则表达式可以用于如此广泛的案例吗?或者我是否必须为每个条目手动执行此操作..?
答案 0 :(得分:5)
你可以进行文字搜索和捕获这样的组并替换它们。
正则表达式: countries\.add\(new Country\("([a-z]+)", "(.*)", (\d+)\)\);
替换为: [countries addObject:[[Country alloc] initWithArray:@[@"$1",@"$2",@"$3"]];
<强> Regex101 Demo 强>