我有一个如下字符串:
你好汤姆
你在哪里
你叫什么名字
我想用新行拆分上面的字符串并添加到数组,如下所示 :
[你好汤姆,你在哪里,你叫什么名字]
这可能在PL / SQL中吗?
答案 0 :(得分:3)
为什么在你向他打招呼时再次问汤姆的名字?
无论如何..是的。您可以对由CHR(10)
分隔的字符串使用标准字符串拆分操作 - Oracle中的换行符。然后使用CAST
和COLLECT
函数将其转换为数组。在这里,我使用了Oracle的内置集合sys.OdciVarchar2List
。在PL / SQL块中,您可以将其收集到任何可以容纳字符串元素的正确集合类型中。
WITH t (s)
AS (
SELECT 'Hello Tom
Where are you
What''s your name'
FROM DUAL
)
SELECT CAST ( COLLECT ( REGEXP_SUBSTR(s, '[^' || CHR(10)|| ']+', 1, LEVEL) )
AS sys.OdciVarchar2List ) as collection
FROM t CONNECT BY LEVEL <= REGEXP_COUNT(s, '[^' || CHR(10)|| ']+')
<强> Results 强>:
| COLLECTION |
|------------------------------------------|
| Hello Tom,Where are you,What's your name |
答案 1 :(得分:0)
Kaushik可能是正确的,我可能错了,但这就是我所理解的(通过查看方括号中的OP,作为期望的结果):
function readImage(file) {
//wrap readImage body into a promise
return new Promise((resolve) => {
var reader = new FileReader();
reader.addEventListener("load", function () {
var image = new Image();
image.addEventListener("load", function () {
elPic.appendChild(this);
//resolve the promise after the child is appended so the caller would know when to start the next one
resolve();
});
image.src = useBlob ? window.URL.createObjectURL(file) : reader.result;
});
reader.readAsDataURL(file);
});
}
elBrowse.addEventListener("change", function () {
var files = this.files; {
//start the chain
var chain = Promise.resolve();
for (var i = 0; i < files.length; i++) {
//use let to have properly scoped variable
let file = files[i];
if ((/\.(png|jpeg|jpg|gif)$/i).test(file.name)) {
//append functions to call to the chain
chain = chain.then(() => readImage(file));
}
}
}
});