在stackoverflow上有很多关于如何只保留字符串中的字母字符的答案,最常见的是着名的正则表达式'[^a-zA-Z]'.但这个答案是完全错误的,因为它假设每个人都只写英文......我想我可以对所有这些答案进行投票,但我终于认为再次提出这个问题会更有建设性,因为我找不到答案.
在python中是否有一种简单(或不......)的方式,只保留适用于所有语言的字符串中的字母字符?我想也许关于一个可以像javascript中的xregexp那样做的库......所有语言我的意思是英语,但也有法语,俄语,中文,希腊语......等等
我有一个使用MVP架构的项目.该项目使用Repository模式.
我有两个数据源,第一个来自远程JSON Api PollutionApiService,第二个是我从assets文件夹中的XML文件获得的简单数据:air_quality_levels.xml.网络数据包含实时污染等级,XML文件包含这些污染等级的限制标准.
现在我只为JSON Api实现了一个Repository,它看起来像这样:
接口
public interface Repository {
Observable<Aqicn> getPollutionLevelsFromNetwork(String city, String authToken);
Observable<Aqicn> getPollutionLevels(String city, String authToken);
}
Run Code Online (Sandbox Code Playgroud)
类
public class PollutionLevelsRepository implements Repository {
private PollutionApiService pollutionApiService;
private static Observable<Aqicn> pollutionData = null;
public PollutionLevelsRepository(PollutionApiService pollutionApiService) {
this.pollutionApiService = pollutionApiService;
}
@Override
public Observable<Aqicn> getPollutionLevelsFromNetwork(String city, String authToken) {
pollutionData = pollutionApiService.getPollutionObservable(city, authToken);
return pollutionData;
}
@Override
public Observable<Aqicn> getPollutionLevels(String city, String authToken) {
return getPollutionLevelsFromNetwork(city, authToken);
}
}
Run Code Online (Sandbox Code Playgroud)
我是否应该使用相同的存储库(添加更多方法)来获取我将从assets文件夹中的XML文件获取的数据?
如果我必须使用两个存储库,我应该如何命名第二个存储库接口?我从来没有几个存储库,所以我总是使用通用名称"Repository"作为接口.我不能给它与该类相同的名称,并且不能添加"I"前缀,因为我读它是不好的做法...或者我应该保留这个"存储库"名称并将新的存储库放在另一个包中?
这是我的实际项目结构,请注意我按功能打包但我将两个存储库放在公共包中,因为它获取了我的两个功能(donut和pollutionlevels)将使用的数据: …
我有这个代码:
@OnClick( {R.id.iv_first,R.id.iv_second} )
public void launchCards() {
Log.i(TAG,"clicked");
}
Run Code Online (Sandbox Code Playgroud)
有没有办法知道该launchCards()方法中ImageView单击了哪两个?
android ×2
architecture ×1
butterknife ×1
click ×1
events ×1
multilingual ×1
mvp ×1
python ×1
repository ×1
string ×1