문자열 "S"가 있습니다. 작은 따옴표로 묶인 부분 문자열 만 문자열 배열에 할당해야합니다. 필요한 대체 단어가 작은 따옴표 안에있을 수 있습니다.
String S = "Username 'user1'
Username2 'user2'
Usermane3 'user3' 'user4'";
아래와 같이 지정해야합니다 ( 단일 따옴표가있는 부분 문자열 만 )
String Username[] ={'user','user1','user2','user4'};
내가 시도한 것
String s1 = S.replace(System.getProperty("line.separator"), " ");
//replacing newline with single space
String Username[] = s1.split(" ");
//separating string into sub-string
Username[]={Username,'user1',Username2,'user2',Username3, 'user3','user4'};
구분 기호를 사용하여 입력을 분할하고 대체 문자열을 사용할 수 있습니다.
String S = "Username 'user1' Username2 'user2 user21' Usermane3 'user3'";
String[] tokens = S.split("'");//use delimiter as ' to get the value inside the quote
String[] usernames = new String[tokens.length / 2];
for (int i = 1, k = 0; i < tokens.length; i += 2) {
System.out.println(tokens[i]);
usernames[k++] = tokens[i];
}
싱글 Username
이 user1
같은 싱글 을 가질 것이라는 규칙이 없다면
String S = "Username 'user1' Username2 'user2' Usermane3 'user3' 'user4'";
논리를 사용하여 아래와 같이 따옴표 안의 문자열 만 가져올 수 있습니다.
String S = "Username 'user1' Username2 'user2' Usermane3 'user3' 'user4'";
ArrayList<String> words = new ArrayList();
String word = "";
boolean startQuote = false;
for (int i = 0; i < S.length(); ++i) {
char ch = S.charAt(i);
if (ch == '\'') {
if (word.equals(""))
startQuote = true;
else {
words.add(word);
word = "";
startQuote = false;
}
}
else if (startQuote) {
word += ch;
}
}
System.out.println(words);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다