Using only part of a String

8 February 2012 By Nithya Vasudevan 519 views No Comment
0 Flares Twitter 0 Facebook 0 Google+ 0 0 Flares ×

Character Extraction

The Java String class provides methods for accessing or creating a substring from a longer string, i.e. character extraction. Like arrays, String indexes are zero based.

MethodPurpose
charAt(int)Returns the character at the specified location.
getBytes()Encodes this String into a sequence of bytes using the platform’s default charset, storing the result into a new byte array.
getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)Copies the specified number of characters from the specified location into the char array.
substring(int)Returns a substring beginning at the specified offset of the current string.
substring(int, int)Returns a substring between the specified offsets of the current string.
char[ ] toCharArray( )Converts all the characters in a String object into a character array. It returns an array of characters for the entire string

Extracting character at specified location from String

String indexes are zero based.

String x = "iByteCode";
char c = x.charAt(2);
System.out.println("charAt(2) in iByteCode is " + c);

Which prints,
charAt(2) in iByteCode is y

Bytes from String

We can get byte array from String.

Method Signature
public byte[] getBytes()
public byte[] getBytes(Charset charset)
public byte[] getBytes(String charsetName)
public class CharacterExtraction {
	public static void main(String[] args) {
		String x = "iByteCode";
      		byte bytes[] = null;
	   	String s;
		try {
			bytes = x.getBytes("ASCII");
			s = new String(bytes);
			System.out.println(s);
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		bytes = x.getBytes();
		s = new String(bytes);
		System.out.println(s);
      }
}

iByteCode
iByteCode

Getting characters from String

Method Signature
public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
where,
srcBegin – starting index is zero-based
srcEnd – end index (end index char will not be not be included)
dst – the destination array.
dstBegin – the start offset in the destination array.
String str = new String("theopentutorials.com");
char charArray[] = new char[9];
str.getChars(7, 16, charArray, 0);
System.out.println(charArray);

Which prints,
tutorials

Extracting substrings

Method Signature
public String substring(int beginIndex)throws IndexOutOfBoundsException
public String substring(int beginIndex, int endIndex)throws IndexOutOfBoundsException
where,
beginIndex is zero-based and endIndex is not
public class CharacterExtraction {
	public static void main(String[] args) {
              String site = "iByteCode Training Solutions";
              System.out.println(site.substring(10));//zero-based index
              //1st argument zero-based and 2nd is not
              System.out.println(site.substring(0,9));
       }
}

Training Solutions
iByteCode

String to char array

We can get char array from String using toCharArray() method.

package com.ibytecode.strings.methods;
public class CharacterExtraction {
	public static void main(String[] args) {
	    String str = new String("theopentutorials.com");
          char[] ch = str.toCharArray();
	    for(char c1: ch)
	    	System.out.print(c1);
	}
}

Which prints,
theopentutorials.com