2011-02-09 10 views
8

नीचे दिए गए कोड में, संदेश एक अंतिम स्ट्रिंग है जिसमें \n है, और यह काम नहीं करता है।फ़्रेम स्ट्रिक के साथ स्ट्रिंग.फॉर्मैट में एक लाइनब्रैक ( n) को प्रारूप के रूप में कैसे जोड़ें?

message = format = "Blah %d Blah Blah \nBlah Blah %s Blah" 
interventionSize = number 
UserID = String 
String.format(Dic.message,interventionSize,userID) 

मैं इस मामले में लाइन ब्रेक कैसे बना सकता हूं, कोई जवाब नहीं मिल सकता।

बीटीडब्लू, मैं किसी भी प्रकार के ढांचे या बाहरी जार का उपयोग नहीं कर सकता (पुराने कोड) को सादा पुराना जावा का उपयोग करना है।

+3

क्या मतलब है * काम नहीं करता है *? क्या आपको एक त्रुटि संदेश मिलता है? आपका आउटपुट क्या है? –

+0

वास्तव में आप सही हैं ... समस्या यह है कि रेखा टूटती नहीं है, मुझे बस 2. –

+0

की बजाय एक विशाल रेखा मिलती है मेरा अनुमान है: आप स्ट्रिंग को HTML पर आउटपुट कर रहे हैं। एचटीएमएल को \ n' परवाह नहीं है, यह केवल '
' परवाह करता है। –

उत्तर

28

प्रारूप स्ट्रिंग में \n होने के ठीक ठीक है।

शायद आपको प्लेटफ़ॉर्म विशिष्ट नई-पंक्ति का प्रयास करना चाहिए। प्रारूप तारों के साथ आप %n का उपयोग कर सकते हैं।

है, निम्न प्रयास करें:

String.format(Dic.message.replace("\\n", "%n"), interventionSize, userId); 
+0

यह एक अच्छा काम किया! धन्यवाद। जितनी जल्दी हो सके आपको सबसे अच्छा जवाब के रूप में चिह्नित करेगा! –

1

वैकल्पिक रूप से आप System.lineSeparator() इस्तेमाल कर सकते हैं। यह मंच स्वतंत्रता सुनिश्चित करेगा। यदि आप 1.7 से पहले System.getProperty("line.separator"); से पहले जेडीके का उपयोग करते हैं।

कोड तो इस प्रकार दिखाई देगा:

String.format(Dic.message.replace("\\n", System.lineSeparator()), interventionSize, userId); 

या इस (JDK के लिए 1.7 से पहले):

String.format(Dic.message.replace("\\n", System.getProperty("line.separator")), interventionSize, userId); 
संबंधित मुद्दे