簡體   English   中英

用於字符串的Java replaceALL

[英]Java replaceALL for string

我有一個字符串:

100-200-300-400

我想將短划線替換為“,”並添加單引號,使其成為:

 '100','200','300','400'

我目前的代碼只能將“ - ”替換為“,”,我怎么能加上單引號?

String str1 = "100-200-300-400";      
split = str1 .replaceAll("-", ",");

if (split.endsWith(",")) 
{
   split = split.substring(0, split.length()-1);
}

您可以使用

split = str1 .replaceAll("-", "','");
split = "'" + split + "'";

作為替代,如果您使用的是Java 1.8,那么您可以創建一個StringJoiner並將String拆分為- 這將是一個少一點時間效率,但是如果考慮,例如,traling這將是更安全的-考慮在內。

一個小樣本可能看起來像這樣。

String string = "100-200-300-400-";
String[] splittet = string.split("-");
StringJoiner joiner = new StringJoiner("','", "'", "'");
for(String s : splittet) {
    joiner.add(s);
}
System.out.println(joiner);

這對你有用:

public static void main(String[] args) throws Exception {
    String s = "100-200-300-400";
    System.out.println(s.replaceAll("(\\d+)(-|$)", "'$1',").replaceAll(",$", ""));
}

O / P:

'100','200','300','400'

或者(如果您不想兩次使用replaceAll()

public static void main(String[] args) throws Exception {
    String s = "100-200-300-400";
    s = s.replaceAll("(\\d+)(-|$)", "'$1',");
    System.out.println(s.substring(0, s.length()-1));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM