我试图运行一个简单的查询,在BigQuery中限制类似%,但LIKE不在他们的语法中,那么如何实现呢?
我正在尝试在scala中实现"或"过滤列表.
list.filter(_ % 3 ==0 || _ % 5 ==0)
Run Code Online (Sandbox Code Playgroud)
但我收到这个错误:
错误:参数数量错误; 预期= 1
那么如何将其分组为一个参数.
我想弄清楚是否有更快的方法从URL使用Scala获取内容.使用Apache IOUtils
我能够比Source.fromURL
Scala 更快地获取内容.以下是两者的代码:
使用Java:
try {
tmp=IOUtils.toString(new URL("http://gizmodo.com"));
tmp=tmp.substring(tmp.indexOf("360\" title=")+12);
tmp=tmp.substring(0,tmp.indexOf("\""));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
使用Scala:
val gizmodoPageLines = Source.fromURL("http://gizmodo.com").getLines.mkString("\n")
val pos=gizmodoPageLines.indexOf("360\" title=")
var tmp=gizmodoPageLines.substring(pos+12)
tmp.substring(0,tmp.indexOf("\""))
Run Code Online (Sandbox Code Playgroud)
在Java中它需要大约:155899 ns
在Scala中:343880 ns
为什么Scala代码这么慢?
我有这个,但是我想知道是否有更快的方法:
URL url=new URL(page);
InputStream is = new BufferedInputStream(url.openConnection().getInputStream());
BufferedReader in=new BufferedReader(new InputStreamReader(is));
String tmp="";
StringBuilder sb=new StringBuilder();
while((tmp=in.readLine())!=null){
sb.append(tmp);
}
Run Code Online (Sandbox Code Playgroud) 这是我的表达方式:
((.)*()){2}
这是输入:
1231,3453453,ewrtewrt,wertwe,rwewer,werewrwe
Run Code Online (Sandbox Code Playgroud)
我希望预期的输出是:
1231,3453453,
ewrtewrt,wertwe,
rwewer,werewrwe
Run Code Online (Sandbox Code Playgroud)