将 CRLF 添加到字符串数组中的字符串会在 ballerina.io 中创建一个 space 字符

Adding CRLF to a string in a string array creates a space character in ballerina.io

我正在尝试在字符串数组中添加 CRLF。

function example() returns string [] {
    string[] a= ["Test\n", "Test\n" ,"Test"];
    log:printInfo(a.toString());
    log:printInfo(stringutils:replaceAll(a.toString()," ",""));
    return a;
}

输出:

log:printInfo(a.toString()); :

Test
 Test
 Test

输出:

log:printInfo(stringutils:replaceAll(a.toString()," ",""));

Test
Test
Test

为什么在\n后面加了一个space?

还有其他方法可以添加 CRLF 吗?

版本:芭蕾舞演员--版本 jBallerina 1.2.8 语言规范 2020R1 更新工具 0.8.8

祝好,马丁

这是预期的行为。当您在数组上调用 toString() 时,它会在数组的元素之间添加一个 space。

举个例子;

import ballerina/io;

public function main() {
    string[] fruitsArray = ["Apple", "Orange", "Strawberry"];
    string fruits = fruitsArray.toString();
    io:println(fruits);
}

这将打印以下内容:

Apple Orange Strawberry

在你的例子中,这看起来很奇怪,因为你在字符串的末尾有一个 CRLF。但是如果你从数组中取出一个元素,它不包含 space.