示例 - 需要在"Begin begin"和"End end"之间提取所有内容.我试过这种方式:
with phrases as (
select 'stackoverflow is awesome. Begin beginHello, World!End end It has everything!' as phrase
from dual
)
select regexp_replace(phrase
, '([[:print:]]+Begin begin)([[:print:]]+)(End end[[:print:]]+)', '\2')
from phrases
;
Run Code Online (Sandbox Code Playgroud)
结果:你好,世界!
但是,如果我的文本包含换行符,则会失败.任何提示如何修复此问题以允许提取包含新行的文本?
[编辑]它如何失败:
with phrases as (
select 'stackoverflow is awesome. Begin beginHello,
World!End end It has everything!' as phrase
from dual
)
select regexp_replace(phrase
, '([[:print:]]+Begin begin)([[:print:]]+)(End end[[:print:]]+)', '\2')
from phrases
;
Run Code Online (Sandbox Code Playgroud)
结果:
stackoverflow很棒.开始吧你好,世界!结束它拥有一切!
应该:
你好,
世界!
[编辑]
另一个问题.我们来看看这个样本:
WITH phrases AS (
SELECT …
Run Code Online (Sandbox Code Playgroud) Linux (Debian Sid x64),内核 4.14,Nvidia GPU。我无法在开放的 Nouveau 驱动程序上运行 Android 模拟器。没有任何我可以发布的错误消息,只是分段错误。当我选择软件渲染时,它可以工作但无法使用(运行速度很慢)。
有没有人知道任何解决方法,或者我被迫使用官方的 Nvidia 驱动程序?
我的意思是这个库:http://sourceforge.net/projects/streamsupport/
它意味着与Java8 Streams兼容,所以我尝试从Java8文档运行一些示例,如下所示:
IntStream.range(1, 4).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
但是.range没有在任何地方定义.从该库文档:
streamsupport是Java 8 java.util.function(功能接口)和java.util.stream(streams)API的后端端口,用于Java 6或7的用户,并补充了java.util.concurrent中选定的附加内容,这些附加内容不存在在Java 6中.
但是: - 我找不到任何一个示例如何使用该反向移植的库 - 正如您所看到的,我也无法使用Java8中最简单的场景.
任何人都可以举例说明如何使用backported StreamSupport或一些文档链接?
[编辑]
import java8.util.function.Consumer;
IntStreams.range(1, 4).forEach(new Consumer<Integer>(){
public void accept(Integer next){
System.out.println(next);
}
});
Run Code Online (Sandbox Code Playgroud)
错误信息:
错误:(126,35)错误:接口IntStream中的forEach方法无法应用于给定类型; 需要:IntConsumer发现:>原因:实际参数>无法通过方法调用转换转换为IntConsumer
如果我将Consumer更改为IntConsumer:
错误:(127,59)错误:类型IntConsumer不接受参数
输入字符串:
<b>Test link</b> <a href="https://www.w3schools.com">Visit W3Schools</a>
预期结果:
Test link <a href="https://www.w3schools.com">Visit W3Schools</a>
我对 jsoup 的尝试:
public String cleanHtml(String html)
{
Whitelist whitelist = Whitelist.none();
whitelist.addTags("a");
return Jsoup.clean(html, whitelist);
}
Run Code Online (Sandbox Code Playgroud)
结果是:
Test link <a>Visit W3Schools</a>
如何删除所有标签,但保持完整a href
?
首先,抱歉可能重复。我发现了一些关于类似问题的问题。但是,我仍然无法弄清楚我的具体情况出了什么问题。
因此,来自服务器的示例 json:
[
{
"_id": "55f9690f30ef6f210e2dc3a5",
"ID": "74c4bf82-9f78-4df5-b9d7-6547e2a55eaa",
"Name": "myLand, Saarbrücken",
"__v": 0,
"Shops": [
{
"ID": "b8eacee1-b2c6-48aa-ac6f-2e7fbe3a5d68",
"Name": "ARA",
"_id": "55f9690f30ef6f210e2dc3a6",
"News": [
{
"ID": "d79b7f51-7d5c-4bd6-9321-e40c6e93788c",
"ValidFrom": "2015-01-08T00:00:00",
"ValidTo": "2015-09-30T00:00:00",
"_id": "55f9690f30ef6f210e2dc3a7",
"Texts": [
{
"ID": "TITLE",
"Value": "11. Wochenspiegel Firmenlauf",
"_id": "55f9690f30ef6f210e2dc3a9"
},
{
"ID": "BODY",
"Value": "Wir gratulieren zur ersten und gleich sehr erfolgreichen Teilnahme am 11.Wochenspiegel Firmenlauf in Dillingen,\r\nunsere Teams vom “Outlet center Wadgassen“ haben ihren Lauf mit tollen Zeiten abgeschlossen und hatten trotz\r\nhohen Temperaturen …
Run Code Online (Sandbox Code Playgroud) @GET("/city/{cityId}/category/all")
Observable<MyDictionary> getDictionaries(@Path(value = "cityId", encoded = true) String cityId, @HeaderMap Map<String, String> headers);
Run Code Online (Sandbox Code Playgroud)
调用方法检索数据:
service.getDictionaries(cityId, headersMap)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(resp ->
{
/*...............*/
}, throwable ->
{
/*...............*/
});
Run Code Online (Sandbox Code Playgroud)
我可以轻松得到答复。但我还需要知道响应头。如何在我的代码中访问它们?有小费吗?我只获取正文,如何获取标题?
我需要从其余Web服务动态加载列表城市,并让用户从警报对话框中选择一个城市。我的代码:
createDialog() {
fetchCities().then((response) {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text('Wybierz miasto'),
content: Container(
height: 200.0,
width: 400.0,
child: ListView.builder(
shrinkWrap: true,
itemCount: response.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text(response[index].name),
onTap: () => citySelected(response[index].id),
);
},
),
),
);
}
);
});
}
Run Code Online (Sandbox Code Playgroud)
结果-对话框始终为200x400,即使只有2个城市可用,底部仍留有不必要的空间:
如何使对话框的宽度/高度适合实际项目的大小?如果省略height
和width
参数,则会出现异常,并且不会显示任何对话框。在本机Android Java中,我不需要指定任何尺寸,因为对话框本身会自动调整大小。
如何修复我的代码以正确设置对话框大小?请注意,我不知道项目数,它是动态的。
[编辑]
如建议的那样,我用列包装内容:
createDialog() {
fetchCities().then((response) {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text('Wybierz miasto'),
content: Column( …
Run Code Online (Sandbox Code Playgroud) 查看此代码 - 获取数据并显示在列表中的小部件:
class _MyEventsFragmentState extends State <MyEventsFragment>{
var events;
@override
initState(){
super.initState();
events = fetchEvents(true);
}
@override
Widget build(BuildContext context) {
return new Center(
child: FutureBuilder<EventsResponse>(
future: events,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
if (snapshot.hasError) {
helpers.logout(context, Strings.msg_session_expired);
return CircularProgressIndicator();
}
return new Container(color: Colors.white,
child: new ListControl().build(snapshot));
}
return CircularProgressIndicator();
},
)
);
}
}
Run Code Online (Sandbox Code Playgroud)
fetchEvent
方法有参数来指示我需要获取哪些事件。如果设置为 true, - 我的事件,如果设置为 false - 返回所有事件。上面的代码加载我的事件并fetchEvents
在initState
覆盖内部调用以避免不必要的数据重新加载。
为了获取所有事件,我定义了另一个类:
class EventsFragment extends StatefulWidget {
@override …
Run Code Online (Sandbox Code Playgroud) 简而言之,这就是我在Nougat/Oreo上得到的 - 圈子(Nougat上的方块)而不是app图标:
在KitKat应用程序图标上显示自己很好:
我已正确设置Firebase的默认图标/ Android清单:
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@mipmap/ic_launcher"/>
Run Code Online (Sandbox Code Playgroud)
有没有人知道为什么最近的Android版本上的FCM通知中从未显示过app图标?我没有想法,有什么提示吗?
[ 编辑 ]:正如谷歌建议的那样,我想确保符合材料图像学指南,所以我测试了这个图标 但是仍然只显示了圆形/方形.我有什么想法?
java android push-notification notification-icons firebase-cloud-messaging
Layout is defined as follows:
var cardLayout = Flexible(
child: new Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
child: Row(children: <Widget>[
Text(categoryIcon,style: TextStyle(color: Colors.lightBlue, fontFamily: 'Fontawesome', fontWeight: FontWeight.normal)),
Text(" " + categoryName, maxLines: 3, style: TextStyle(color: Colors.lightBlue, fontWeight: FontWeight.normal)) //Overflow!!
]),
padding: EdgeInsets.only(bottom: 10.0,left: 10.0, top: 10.0),
),
Padding(
child: Text(title, maxLines: 3, overflow: TextOverflow.ellipsis, style: TextStyle(fontWeight: FontWeight.normal, fontSize: 16)),
padding: EdgeInsets.only(bottom: 10.0,left: 10.0, top: 10.0),
),
Padding(
child: new Text(address, style: TextStyle(fontStyle: FontStyle.normal)),
padding: EdgeInsets.only(bottom: 15.0,left: …
Run Code Online (Sandbox Code Playgroud)