Solved

Is there a equivalent of strncpy() in Java?

Posted on 2000-04-24
4
2,640 Views
Last Modified: 2008-03-06
I have to remove carraige return from the end of the String, is there a method to do that?

Thanks.
Theta.
0
Comment
Question by:theta
  • 2
4 Comments
 
LVL 16

Accepted Solution

by:
imladris earned 20 total points
ID: 2745393
Assuming, as your question implies, that you know the string ends with a carriage return, the simplest solution would be:

String ret; //string with \n in it
....
//ret gets a value somehow
....

String noret=ret.substring(0,ret.length()-1);

0
 
LVL 19

Expert Comment

by:Jim Cakalic
ID: 2745409
Perhaps you could use String.trim(). This returns a new String with all whitespace removed from both ends of the source String. Whitespace here is the same as defined by the Character.isSpace() method: horizontal tab, newline, form feed, carriage return, and, of course, space (' '). Remember that this returns a new String. Since String is an immutable object, you cannot change its contents.

    String s = <your string>
    s = s.trim();

If you want to just remove carriage return, you might consider something like:

    String s = <your string>
    int crIndex = s.indexOf("\r");
    s = s.substring(0, crIndex);

This will take a substring of the original String that contains everything from the beginning of the String up to but not including the index of the first carriage return character. Of course, everything after the carriage return is discarded as well.

If you really want to remove just carriage returns and leave everything else intact, you might consider this:

    String s = <your string>
    StringBuffer buf = new StringBuffer(s);
    for (int index = buf.length() - 1; index >= 0; --index) {
        if (buf.charAt(index) == '\r') {
            buf.deleteCharAt(index);
        }
    }
    s = buf.toString();

If you want to remove just the last occurrence of carriage return, break the loop after deleteCharAt().

There is also a rather inefficient way of doing it with StringTokenizer but I doubt that it would be necessary to go to that length.

Best regards,
Jim Cakalic
0
 
LVL 19

Expert Comment

by:Jim Cakalic
ID: 2745435
I was typing my comment when imladris posted so I didn't see his answer. Keep in mind that the carriage return and newline pair are usually seen in that order. As a result the posted answer will remove the last character from the String which is most likely going to be newline, not carriage return.

Playing around a little more, the simplest solution with the least side effects is likely to be String.replace():

    String s = <your string>
    s = s.replace('\r', '');

This will return a new String with all carriage returns removed.

Jim
0
 

Author Comment

by:theta
ID: 2745754
Imladris solution worked fine.

Jim, thankyou for such detailed description on strings. I tried your solutions and they worked too.

Theta.
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
MySqlDump not dumping triggers 1 43
jsp insert to database example 2 47
Java syntax, or is it Selenium 6 30
restrict decimal places for double datatype 10 22
For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
This was posted to the Netbeans forum a Feb, 2010 and I also sent it to Verisign. Who didn't help much in my struggles to get my application signed. ------------------------- Start The idea here is to target your cell phones with the correct…
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question