我有這樣的字符串:操縱以下字符串的最佳方法是什麼?
"{0}_something_{1}-{2}-something"
,我需要這些字符串轉換爲
"%s_something_%s-%s-something"
什麼是做到這一點的最好方法是什麼?
我有這樣的字符串:操縱以下字符串的最佳方法是什麼?
"{0}_something_{1}-{2}-something"
,我需要這些字符串轉換爲
"%s_something_%s-%s-something"
什麼是做到這一點的最好方法是什麼?
我會使用正則表達式。
String data = "{0}something{1}-{2}-something";
System.out.println(data.replaceAll("\\{.*?\\}", "%s_"));
輸出:
%s_something%s_-%s_-something
編輯: 一個RegExp,只有當有僅是數字{
和}
之間
System.out.println(data.replaceAll("\\{\\d+\\}", "%s_"));
myString.replaceAll("\\{\\d\\}", "%s")
如果你想取代創造Ë一個Java格式字符串,那麼你應該可能保留這些替代品的順序,否則像foo {2} bar {1} baz {0}
字符串將帶來問題:
myString.replaceAll("\\{(\\d)\\}", "%$1$$s");
考慮使用的MessageFormat。 - http://download.oracle.com/javase/6/docs/api/java/text/MessageFormat.html
String result = MessageFormat.format("{0}something{1}-{2}-something", "%s_", "_%s", "%s");
String str = "{0}something{1}-{2}-something";
String clean = str.replaceAll("(\\{\\d+\\}-?)", "%s_");
System.out.println(clean); // outputs: %s_something%s_%s_something
有什麼邏輯嗎?何時添加下劃線? – Fortega
下劃線沒有邏輯。只用%s替換所有的{0},{1}。我忘了string.replce與正則表達式。我在這裏得到了我的答案。謝謝 – AAaa
然後將你的例子替換爲「我應該如何用'%s'替換所有'{0] ... {1} ...'等實例。 – mre