Interview Question
Java DevelopersCountry: India
Interview Type: Written Test
import java.util.ArrayList;
import java.util.List;
public class SplitWithoutFunction {
public static void main(String[] args) {
String test = "Shuhail Kadavath Abc";
String[] st = split(test, " ");
for(String s : st)
System.out.println(s);
}
public static String[] split(String s,String pat) {
List<String> str = new ArrayList<>();
int st=0;
for(int i=0;i<s.length();i++) {
if((""+s.charAt(i)).equals(pat)) {
str.add(s.substring(st,i));
st=i+1;
}
}
if(st<s.length())
str.add(s.substring(st,s.length()));
String[] op = new String[str.size()];
return (String[]) str.toArray(op);
}
}
public static ArrayList<String> mySplit(String regex,String source){
ArrayList<String> arr = new ArrayList<String>();
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(source);
int left = 0;
while(matcher.find()){
System.out.println(source.substring(left,matcher.start()));
left = matcher.end();
}
if(left< source.length() - 1)
{
System.out.println(source.substring(left,source.length()));
}
return arr;
}
public class Test {
public static void main(String... args){
Test t1 = new Test();
String[] str = t1.mySplit("Hello World", " ");
for(String string:str){
System.out.println(string);
}
}
public String[] mySplit(String string, String ch){
List<String> output = new ArrayList<String>();
while(string != null){
int startIndex = 0;
int lastIndex = string.indexOf(ch);
if(lastIndex == -1){
if(string.length() > 0){
lastIndex = string.length();
} else {
break;
}
}
output.add(string.substring(startIndex,lastIndex));
if(lastIndex == string.length()){
string = null;
}else{
string = string.substring(lastIndex+1);
}
}
return output.toArray(new String[output.size()]);
}
}
public static String[] splitStr(String s, String regex){
String[] result = new String[s.length()];
int index = 0;
int regexLength = regex.length();
int firstIndex = 0;
int lastIndex = 0;
for(int i = 0; i <= s.length() - regexLength; i++){
boolean match = true;
int t = 0;
for(int j = i; j < (i + regexLength); j++){
if(s.charAt(j) != regex.charAt(t)){
match = false;
}
t++;
}
if(match){
lastIndex = i - 1;
if(lastIndex >= firstIndex){
result[index++] = s.substring(firstIndex, lastIndex+1);
}
firstIndex = i + regexLength;
}
else{
if(i == s.length() - regexLength){
result[index++] = s.substring(firstIndex,s.length());
}
}
}
return result;
}
public void printTokenized(String text) {
//String text = " This is a tokenized String";
List<String> arr = new ArrayList<String>();
StringBuilder sb = new StringBuilder();
char delimeter = ' ';
for(int i=0; i<text.length(); i++)
{
char ch = text.charAt(i);
if(ch == delimeter)
{
if( sb.length()>0){
arr.add(sb.toString());
sb = new StringBuilder();
}
}
else{
sb.append(ch);
}
}
System.out.println(arr);
}
public void printTokenized(String text) {
//String text = " This is a tokenized String";
List<String> arr = new ArrayList<String>();
StringBuilder sb = new StringBuilder();
char delimeter = ' ';
for(int i=0; i<text.length(); i++)
{
char ch = text.charAt(i);
if(ch == delimeter)
{
if( sb.length()>0){
arr.add(sb.toString());
sb = new StringBuilder();
}
}
else{
sb.append(ch);
}
}
System.out.println(arr);
}
- Anonymous October 18, 2014