【问题标题】:I have a constructor that should take a String for example an address and split by " | " [closed]我有一个构造函数,它应该以一个字符串为例,一个地址并用“|”分割[关闭]
【发布时间】:2020-06-24 06:08:08
【问题描述】:

到目前为止,这是我的代码。这就是我用“|”分解字符串的方式。现在我想知道如何存储每个部分。

public class Address {
private String lines;

public Address(String lines)
{
    this.lines = lines;
    String[] arrOfStr = this.lines.split("|");
}

此构造函数应接受由“|”分隔的部分地址 然后,构造函数需要将字符串分成几部分,然后存储每个部分 第1部分|第2部分|第3部分

【问题讨论】:

  • 您有问题吗?如果是这样,请坚持并相应地更改标题。
  • 这里到底有什么问题?存储数组本身与您使用lines 所做的类似。如果部件应该具有命名变量,则创建这些变量并分配相应的数组元素。
  • 您已经将这些值作为 arrOfStr[0],arrOfStr[1] 尝试打印或设置为变量。
  • 请记住,.split 采用正则表达式| 字符是正则表达式语法的一部分。替换为 \\| 以便将其转义并视为文字 | 字符。
  • 可能是 Splitting a Java String by the pipe symbol using split(“|”)Splitting string with pipe character (“|”) 的重复项,但很难说你在这里问的是什么。

标签: java


【解决方案1】:

首先您需要使用\\| 进行拆分 然后你需要将结果存储在一个字段中

// field

String[] arrOfStr

public Address(String lines)
{
    this.lines = lines;
    arrOfStr = this.lines.split("\\|");
}

【讨论】:

  • 问题,我将如何存储每个拆分的部分?
  • 什么意思,它被存储在arrOfStr - 你需要知道如何访问数组的每个元素?
【解决方案2】:
public class Address {
    private String parts[];

    public Address(String lines) {
        parts = lines.split("\\|");
    }

    public void printAddress() {
        for (String p : parts) {
            System.out.println(p);
        }
    }

    public static void main(String[] args) {
        Address address = new Address("House No. 1|Main Street|City|Country");
        address.printAddress();
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    相关资源
    最近更新 更多