我有一个很长的查询.我想在Python中将它分成几行.在JavaScript中实现它的一种方法是使用几个句子并将它们与+
运算符连接(我知道,也许这不是最有效的方法,但我并不关心这个阶段的性能,只是代码可读性) .例:
var long_string = 'some text not important. just garbage to' +
'illustrate my example';
Run Code Online (Sandbox Code Playgroud)
我尝试在Python中做类似的事情,但它不起作用,所以我习惯\
拆分长字符串.但是,我不确定这是否是唯一/最好/最好的方式.看起来很尴尬.实际代码:
query = 'SELECT action.descr as "action", '\
'role.id as role_id,'\
'role.descr as role'\
'FROM '\
'public.role_action_def,'\
'public.role,'\
'public.record_def, '\
'public.action'\
'WHERE role.id = role_action_def.role_id AND'\
'record_def.id = role_action_def.def_id AND'\
'action.id = role_action_def.action_id AND'\
'role_action_def.account_id = ' + account_id + ' AND'\
'record_def.account_id=' + account_id + ' AND'\
'def_id=' + def_id
Run Code Online (Sandbox Code Playgroud) 不幸的是,Java没有多行字符串文字的语法.如果IDE可以很容易地使用像这样的结构,那没问题
String x = "CREATE TABLE TEST ( \n"
+ "A INTEGER NOT NULL PRIMARY KEY, \n"
...
Run Code Online (Sandbox Code Playgroud)
使用Eclipse将多行String从剪贴板粘贴到Java源代码的最快方法是什么(以自动创建代码的方式).
在不使用更多内存的情况下循环遍历多行字符串的每一行的好方法是什么(例如,不将其拆分为数组)?
假设你有这个文件:
x
a
b
c
x
x
a
b
c
x
x
Run Code Online (Sandbox Code Playgroud)
你想用Notepad ++ 找到序列abc(并选择整行3行).请问如何在正则表达式中表达换行符?
我已经读过,建议在Java 7中添加多行字符串文字.
虽然我找不到任何文件肯定说他们已经.我想知道它们是否是,因为这是我考虑切换版本的东西.
你如何拥有一个没有前导空格的多行字符串,并且仍然与方法正确对齐?以下是我的一些尝试.工作的那个不是很有趣......
module Something
def welcome
"
Hello
This is an example. I have to write this multiline string outside the welcome method
indentation in order for it to be properly formatted on screen. :(
"
end
end
module Something
def welcome
"
Hello
This is an example. I am inside welcome method indentation but for some reason
I am not working...
".ljust(12)
end
end
module Something
def welcome
"Hello\n\n"+
"This is an example. I am inside welcome method indentation and …
Run Code Online (Sandbox Code Playgroud) 我想将 CO(多边形)分成不被道路(线串)分割的部分(也是多边形)。也就是说,我希望较小多边形的部分以道路或州边界为界,并且不包含任何进出多边形的道路。
我能够使用lwgeom::st_split
生成几何集合,但我不确定这是否对我有帮助;我坚持这个解决方案,因为我不确定如何提取集合中的几何图形,例如,为它们分配唯一的 ID。
我的最终目标是确保我的点(单独的数据)不会被道路分开。因此,如果您有一个可能更直接的解决方案,我也会洗耳恭听。
library(tidyverse)
library(tigris)
library(sf)
library(lwgeom)
co <- states(cb = T) %>%
filter(NAME == "Colorado")
roads <- primary_secondary_roads(state = 'Colorado')
cosplit <- st_split(co,roads)
Run Code Online (Sandbox Code Playgroud)
有没有人找到或看到这个问题的解决方案?
这在Groovy中真的很不错:
println '''First line,
second line,
last line'''
Run Code Online (Sandbox Code Playgroud)
多行字符串.我已经在一些语言中看到了更进一步的工具,可以删除第2行的缩进,因此该语句将打印:
Run Code Online (Sandbox Code Playgroud)First line, second line, last line
并不是
Run Code Online (Sandbox Code Playgroud)First line, second line, last line
在Groovy中有可能吗?
这是非常具体但让我难过.我们在解析时对待嵌套键+常规数组几乎相同 - 有时在需要时添加额外信息,如下所示:
---
Entry 1:
- lorem:
true
- ipsum
- dolor
Entry 2:
- lorem
- ipsum:
true
- dolor
...
Run Code Online (Sandbox Code Playgroud)
...这给了我这个JSON:
{
"Entry 2": [
"lorem",
{
"ipsum": true
},
"dolor"
],
"Entry 1": [
{
"lorem": true
},
"ipsum",
"dolor"
]
}
Run Code Online (Sandbox Code Playgroud)
一切都很酷很好.为内容输入多行字符串会变得更加混乱,但仍然可以正常工作(继续粘贴到在线YAML Parser或其他编译器以供参考):
---
#works:
Test:
- lorem
- ipsum
- dolor
? |-
multiline
Test
:
- lorem
- ipsum:
true
- dolor
...
Run Code Online (Sandbox Code Playgroud)
更深入,我的第二级数组中的多行字符串也可以正常工作,正如规范所期望的那样:
---
#works:
Test:
- |-
multiline
lorem …
Run Code Online (Sandbox Code Playgroud) 在Kotlin中,当我构建这样的多行字符串时:
value expected = """
|digraph Test {
|${'\t'}Empty1;
|${'\t'}Empty2;
|}
|""".trimMargin()
Run Code Online (Sandbox Code Playgroud)
通过以下输出时,我发现该字符串缺少回车符(ASCII代码13):
println("Expected bytes")
println(expected.toByteArray().contentToString())
Run Code Online (Sandbox Code Playgroud)
输出:
Expected bytes
[100, 105, 103, 114, 97, 112, 104, 32, 84, 101, 115, 116, 32, 123, 10, 9, 69, 109, 112, 116, 121, 49, 59, 10, 9, 69, 109, 112, 116, 121, 50, 59, 10, 125, 10]
Run Code Online (Sandbox Code Playgroud)
当我尝试进行单元测试的某些代码通过a构建相同的String时,PrintWriter
它通过lineSeparator
属性来描述行:
/*
* Line separator string. This is the value of the line.separator
* property at the moment that the stream was …
Run Code Online (Sandbox Code Playgroud)