簡體   English   中英

如何為給定字符串中的每個單詞添加前綴

[英]How to add prefix to each word in a given string

我想給給定字符串中的每個單詞添加前綴。 我的代碼是:-

StringBuilder strColsToReturns  = new StringBuilder();
String strPrefix                = "abc.";
strColsToReturns.append(String.format(" %sId, %sname, %stype,", strPrefix, strPrefix, strPrefix));

對於小字符串,這很好,但是我有一個非常大的靜態字符串,像這樣。 因此,這種添加字符串前綴的方法看起來很乏味。 還有其他復雜的方法可以實現這一目標。

您可以使用replaceAll(regex, replacement) 作為正則表達式,我們可能要選擇具有

  • 空格或字符串開頭
  • 和之后的非空格。

(我們可以這里使用環顧四周機制)

所以這樣的事情應該工作:

String replaced = originalString.replaceAll("(?<=\\s|^)(?=\\S)", "abc.");

但是,如果replacement可以包含$\\字符,則需要使用\\Matcher.quoteReplacement(replacement)方法對它們進行轉義。

String originalString = "foo bar baz";
String replaced = originalString.replaceAll("(?<=\\s|^)(?=\\S)", Matcher.quoteReplacement("abc."));
System.out.println(replaced);

輸出: abc.foo abc.bar abc.baz

暫無
暫無

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

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