【问题标题】:Is there any way to make commas(,) escapable in a String in Java? [duplicate]有没有办法让逗号(,)在Java中的字符串中转义? [复制]
【发布时间】:2021-12-19 10:27:59
【问题描述】:

我有一个String str = "13-005B,162-,0000-"。我有一个名为outputUtill 的函数,它需要输入格式:-="(string1 value)",="(string2 value)",="(string3 value)"outputUtill 函数基于 "," 作为分隔符拆分输入字符串。有什么办法可以让String str 中的逗号(,)可以转义,这样当它变成格式时:-="13-005B,162-,0000-" 并传递给outputUtill function 它不会被分成三个子字符串

  1. 13-005B
  2. 162-
  3. 0000-

比如我们通过

="370143030",="SPRING TOWNSHIP CENTRE",="1869 ZION ROAD BELLEFONTE PA 16823",="8143551",="02",="13-005B,162-,0000-", 

到 outputUtill 函数。我们希望输出为

370143030
SPRING TOWNSHIP CENTRE
1869 ZION ROAD BELLEFONTE PA 16823
8143551
02
13-005B,162-,0000-

【问题讨论】:

  • 您可以将所有逗号替换为另一个字符或序列
  • 假设我们通过 ="370143030",="SPRING TOWNSHIP CENTRE",="1869 ZION ROAD BELLEFONTE PA 16823",="8143551",="02",="13-005B,162 -,0000-",到 outputUtill 函数。我们希望输出为 370143030 SPRING TOWNSHIP CENTER 1869 ZION ROAD BELLEFONTE PA 16823 8143551 02 13-005B,162-,0000-
  • 我不明白应该是什么结果,这个问题非常令人困惑。您在输入中有“13-005B,162-,0000-”,那么您需要没有逗号的相同字符串吗?并且应该是一个字符串而不是 3 个单独的字符串?
  • 这不是一个有效的字符串
  • 再次检查问题。我试图让它更具可读性。

标签: java string split


【解决方案1】:

outputUtil 可以对序列 ",=" 进行拆分,并修剪开头和结尾的 =" 和 ",

public static void main(String[] args) {
    String input = "=\"370143030\",=\"SPRING TOWNSHIP CENTRE\",=\"1869 ZION ROAD BELLEFONTE PA 16823\",=\"8143551\",=\"02\",=\"13-005B,162-,0000-\", ";
    String sep = "\",=\"";

    String[] output = input.substring(2, input.length() - 3).split(sep);
    Arrays.stream(output).forEach(s -> System.out.println(s));
}

输出:

370143030
SPRING TOWNSHIP CENTRE
1869 ZION ROAD BELLEFONTE PA 16823
8143551
02
13-005B,162-,0000-

【讨论】:

    猜你喜欢
    • 2011-03-03
    • 2020-05-28
    • 2019-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-01
    相关资源
    最近更新 更多