जावा स्ट्रिंग नई लाइन


133

मेरे पास स्ट्रिंग है जैसे

"I am a boy".

मैं इस तरह प्रिंट करना चाहता हूं

"I 
am 
a
boy".

कोई भी मेरी मदद कर सकता हैं?

जवाबों:


142
System.out.println("I\nam\na\nboy");

System.out.println("I am a boy".replaceAll("\\s+","\n"));

System.out.println("I am a boy".replaceAll("\\s+",System.getProperty("line.separator"))); // portable way


तीसरा विकल्प पोर्टेबिलिटी के लिए सबसे अच्छा है।
आमोस बोर्डोविट

117

आप यह भी उपयोग कर सकते हैं System.lineSeparator():

String x = "Hello," + System.lineSeparator() + "there";

8
पुराने जावा संस्करणों में System.getProperty("line.separator"):।
ROMANIA_engineer

1
शॉर्टकट: String x = "Hello, %n there";%nकेवल पठनीयता के लिए चारों ओर रिक्त स्थान जोड़े ।
मनोज श्रेष्ठ

49

उदाहरण

System.out.printf("I %n am %n a %n boy");

उत्पादन

I 
 am 
 a 
 boy

व्याख्या

इसके %nबजाय OS स्वतंत्र नई-पंक्ति वर्ण के रूप में उपयोग करना बेहतर है \nऔर यह उपयोग करने की तुलना में आसान हैSystem.lineSeparator()

क्यों उपयोग करना है %n, क्योंकि प्रत्येक ओएस पर, नई लाइन वर्ण (एस) के एक अलग सेट को संदर्भित करती है;

Unix and modern Mac's   :   LF     (\n)
Windows                 :   CR LF  (\r\n)
Older Macintosh Systems :   CR     (\r)

वामो के संक्षिप्त रूप है लाइन फ़ीड और सीआर का संक्षिप्त रूप है कैरिज वापसी । बच के पात्र कोष्ठक के अंदर लिखे गए हैं। इसलिए प्रत्येक OS पर, नई लाइन सिस्टम के लिए कुछ खास करने के लिए खड़ी होती है। %nOS अज्ञेयवादी है, यह पोर्टेबल है। यह \nयूनिक्स सिस्टम या \r\nविंडोज सिस्टम और इतने पर है। इस प्रकार, उपयोग न करें \n, बजाय उपयोग करें %n


1
डॉक्स में लाइन सेपरेटर सेक्शन देखें
Lu55

29

इसे कई तरीकों से किया जा सकता है। मैं 2 सरल तरीकों का उल्लेख कर रहा हूं।

  1. नीचे के रूप में बहुत सरल तरीका:

    System.out.println("I\nam\na\nboy");
  2. इसे नीचे दिए गए अनुसार भी किया जा सकता है:

    System.out.println("I" + '\n' + "am" + '\n' + "a" + '\n' + "boy");


13

किसी भी प्रणाली के लिए कोड को पोर्टेबल बनाने के लिए, मैं उपयोग करूंगा:

public static String newline = System.getProperty("line.separator");

यह महत्वपूर्ण है क्योंकि अलग-अलग ओएस न्यूलाइन के लिए अलग-अलग नोटेशन का उपयोग करते हैं: विंडोज "\ r \ n" का उपयोग करता है, क्लासिक मैक "\ r" का उपयोग करता है, और मैक और लिनक्स दोनों "\ n" का उपयोग करते हैं।

टिप्पणीकार - कृपया मुझे सही करें अगर मैं इस पर गलत हूँ ...


7

\n अलग लाइन बनाने के लिए उपयोग किया जाता है;

उदाहरण:

System.out.print("I" +'\n'+ "am" +'\n'+ "boy"); 

परिणाम:

I
am
boy

4
कृपया अन्य उत्तर पहले पढ़ें। आपका समाधान पहले से ही है।
होनज़ा ज़िदेक

6

यदि आप बस कंसोल में एक नई लाइन प्रिंट करना चाहते हैं तो आप नईलाइन्स के लिए ´ \ n का उपयोग कर सकते हैं।

यदि आप स्विंग घटकों में पाठ को तोड़ना चाहते हैं तो आप html का उपयोग कर सकते हैं:

String s = "<html>first line<br />second line</html>";

यह मेरे लिए काम करता है। और मैं यूनिकोड फ़ॉन्ट का उपयोग कर रहा हूं। यह बेहतर काम करता है।
सहान जूल

5

यदि आप अपना कोड os-unspecific रखना चाहते हैं तो आपको प्रत्येक शब्द के लिए println का उपयोग करना चाहिए

System.out.println("I");
System.out.println("am");
System.out.println("a");
System.out.println("boy");

क्योंकि विंडोज "\ r \ n" का उपयोग करता है क्योंकि नई लाइन और यूनिक्सड सिस्टम सिर्फ "\ n" का उपयोग करते हैं

Println हमेशा सही का उपयोग करता है


3
यह बहुत अधिक System.out.println () लिखने के लिए एक अच्छा समाधान नहीं है
रिपन अल वसीम

@op याद रखें कि स्ट्रिंग println()के अंत में एक नया वर्ण जोड़ता है (शुरुआत नहीं)।
वोल्फपैक'08

@ हची, System.lineSeparator()या System.getProperty("line.separator")कोड सिस्टम को स्वतंत्र बनाने के लिए उपयोग किया जा सकता है।
आशीष कुमार

3

के बारे में क्या %nकी तरह एक फ़ॉर्मेटर का उपयोग कर String.format()?:

String s = String.format("I%nam%na%nboy");

के रूप में इस उत्तर जावा 1.5 से कहते हैं, इसकी उपलब्ध है और करने के लिए एक और तरीका है System.getProperty("line.separator")या System.lineSeparator()और, इस दो की तरह, है ओएस स्वतंत्र


2

प्लेटफ़ॉर्म-इंडिपेंडेंट लाइन ब्रेक

finalString = "bandham" + System.lineSeparator() + "manikanta"; System.out.println(finalString);

आउटपुट: bandham manikanta

टिप्पणियाँ: Java 6: System.getProperty("line.separator") Java 7 & above: System.lineSeparator()


1

एक मजेदार मोड़ के साथ पूरा कार्यक्रम उदाहरण:

एक नया रिक्त दस्तावेज़ खोलें और इसे सहेजें %yourJavaDirectory%/iAmABoy/iAmABoy.java। "AAmABoy" वर्ग का नाम है।

निम्नलिखित कोड पेस्ट करें और इसके माध्यम से पढ़ें। याद रखें, मैं एक शुरुआती हूं, इसलिए मैं सभी प्रतिक्रिया की सराहना करता हूं!

//The class name should be the same as your Java-file and directory name.
class iAmABoy {

    //Create a variable number of String-type arguments, "strs"; this is a useful line of code worth memorizing.
    public static void nlSeparated(String... strs) {

        //Each argument is an str that is printed.
        for (String str : strs) {

            System.out.println(str);

        }

    }

    public static void main(String[] args) {

        //This loop uses 'args' .  'Args' can be accessed at runtime.  The method declaration (above) uses 'str', but the method instances (as seen below) can take variables of any name in the place of 'str'.
        for (String arg : args) {

            nlSeparated(arg);

        }

        //This is a signature.  ^^
        System.out.print("\nThanks, Wolfpack08!");
    } 

}

अब, टर्मिनल / cmd में, ब्राउज़ करें %yourJavaDirectory%/iAmABoyऔर टाइप करें:

javac iAmABoy.java
java iAmABoy I am a boy

आप आर्गन्स I am a boyको किसी भी चीज़ से बदल सकते हैं !


आपको दो छोरों की आवश्यकता नहीं है। या तो argsसीधे पास करें nlSeparated()या एक सरणी के बजाय nlSeparated()स्केलर लें String। पहला विकल्प शायद बेहतर है। इसके अलावा, अपने हस्ताक्षर को printlnइसके बजाय प्रिंट करें print
मैड फिजिसिस्ट

में main, for (String arg : args) { nlSeparated(arg); }बस के साथ बदलें nlSeparated(args);nlSeparatedपहले से ही Strings की सूची को स्वीकार करता है । बेहतर विवरण के लिए, यहां देखें: stackoverflow.com/a/12534579/2988730
मैड फिजिसिस्ट

1

एक विभाजन के लिए जाओ।

String string = "I am a boy";
for (String part : string.split(" ")) {
    System.out.println(part);
}

0

Println ( "मैं \ nam \ na \ Nboy");

यह काम करता है यह प्रवेश चरित्र से पहले एक अंतरिक्ष चरित्र भी देगा


0

मैं इस कोड का उपयोग करता हूं String result = args[0].replace("\\n", "\n");

public class HelloWorld {

    public static void main(String[] args) {
        String result = args[0].replace("\\n", "\n");
        System.out.println(result);
    }
}

टर्मिनल के साथ मैं प्रिंट आउट I\\nam\\na\\boyबनाने के लिए arg का उपयोग कर सकता हूंSystem.out.println

I
am
a
boy

यहाँ छवि विवरण दर्ज करें


-1

आप <br>html पृष्ठों में शो के लिए अपने स्ट्रिंग में टैग का उपयोग कर सकते हैं


2
अपने आउटपुट में मार्कअप को एम्बेड करना हमेशा एक बुरा विचार है। आप कभी नहीं जानते कि आपके उपयोगकर्ता कौन सी प्रदर्शन तकनीक का उपयोग कर रहे हैं। इसे यथासंभव सामान्य रखने के लिए, और यदि आवश्यक हो तो प्रदर्शन के लिए एक प्रारूपण फ़िल्टर का उपयोग करें।
TMN

मैंने कहा कि यह सिर्फ html पेज में काम करता है, यह सिर्फ एक सुझाव है जो वेब पेजों में एक साधारण पाठ दिखाना चाहते हैं।
मेहदी रोस्तैयन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.