자바에서 노드를 공유 배열로 변환
나는이 string="name";내가 배열로 변환합니다. 어떻게하나요? Java 내장 함수가 있습니까? Java 내장 함수를 수동으로 할 수 있습니다.
전세계의 각 문자가 복수의 배열을 원합니다. char 'n'은 이제 배열에 배열에 "n"이됩니다.
할당을 시작 String.split합니다.
String[] ary = "abc".split("");
어레이를 생성합니다.
(java.lang.String[]) [, a, b, c]
빈 첫 번째 항목을 제거하는 것은 독자를위한 연습으로 애 쓰고 있습니다. :-)
참고 : Java 8에서는 비어있는 첫 번째 요소가 더 이상 포함되지 않습니다.
String strName = "name";
String[] strArray = new String[] {strName};
System.out.println(strArray[0]); //prints "name"
두 번째 줄은 길이가 1 인 문자열 배열을 할당합니다. 다음과 같이 길이를 직접 필요는 없습니다.
String[] strArray = new String[1];
대신 길이는 이니셜 라이저의 요소 수에 의해 결정됩니다. 사용
String[] strArray = new String[] {strName, "name1", "name2"};
길이가 3 인 배열을 만듭니다.
당신이 가정합니다 ( char[]또는 Character[]아님)
1. 정규식 사용 :
public static String[] singleChars(String s) {
return s.split("(?!^)");
}
너비가 0 인 음의 미리보기는 입력 시작시 패턴 일치를 방지하기 첫 빈을 얻지.
2. 구아바 사용 :
import java.util.List;
import org.apache.commons.lang.ArrayUtils;
import com.google.common.base.Functions;
import com.google.common.collect.Lists;
import com.google.common.primitives.Chars;
// ...
public static String[] singleChars(String s) {
return
Lists.transform(Chars.asList(s.toCharArray()),
Functions.toStringFunction())
.toArray(ArrayUtils.EMPTY_STRING_ARRAY);
}
나는 그것이 더 중요하지 않을 것이기 때문에 필요가 없습니다.
String[] array = {"name"};
물론 당신이 주장한다면 다음과 같이 쓸 수 있습니다.
static String[] convert(String... array) {
return array;
}
String[] array = convert("name","age","hobby");
[편집] 단일 문자 업그레이드를 원하는 경우 다음을 사용할 수 있습니다.
String[] s = "name".split("");
불행히도 s는 n, a, m, e 문자가 이어집니다. 이것이 문제라면, 예를 들어 System.arrayCopy를 사용하여 첫 번째 배열 항목을 제거 할 수 있습니다.
String data = "abc";
String[] arr = explode(data);
public String[] explode(String s) {
String[] arr = new String[s.length];
for(int i = 0; i < s.length; i++)
{
arr[i] = String.valueOf(s.charAt(i));
}
return arr;
}
Java 8에는 수행 할 수있는 메소드가 있습니다. toCharArray () :
String k = "abcdef";
char[] x = k.toCharArray();
결과적으로 다음 배열이 생성됩니다.
[a,b,c,d,e,f]
문자열 배열 = 문자 배열?
아니면 각각 배열 요소가되어야하는 여러 단어가있는 문자열이 있습니까?
String[] array = yourString.split(wordSeparator);
유형으로 변환 Char하시겠습니까?
http://www.javadb.com/convert-string-to-character-array
Java에서 .tocharArray () 메소드를 사용하십시오.
String k = "abc";
char alpha = k.tocharArray();
이것은 JAVA 8에서 잘 작동합니다.
를 사용할 수 string.chars().mapToObj(e -> new String(new char[] {e}));있지만 이것은 매우 길고 Java 8에서만 작동합니다. 다음은 몇 가지 메소드입니다.
string.split(""); (Has an extra whitespace character at the beginning of the array if used before Java 8) string.split("|"); string.split("(?!^)"); Arrays.toString(string.toCharArray()).substring(1, string.length() * 3 + 1).split(", ");
마지막은 불필요하게 길고 재미를위한 것입니다!
추가 방법 :
이미 언급했듯이 원래 문자열 "이름"을 문자 배열로 아주 쉽게 변환 할 수 있습니다.
String originalString = "name";
char[] charArray = originalString.toCharArray();
이 생각을 계속하려면 char 배열을 String 배열로 변환 할 수 있습니다.
String[] stringArray = new String[charArray.length];
for (int i = 0; i < charArray.length; i++){
stringArray[i] = String.valueOf(charArray[i]);
}
이 시점에서 stringArray는 원래 문자열 "name"의 원래 값으로 채워집니다. 예를 들어, 지금 전화
System.out.println(stringArray[0]);
이 경우 값 "n"(문자열)을 반환합니다.
빈 문자열을 String.split () 로 분할하면 빈 문자열을 포함하는 단일 요소 배열이 반환 됩니다. 대부분의 경우 빈 배열을 가져 오거나 null을 전달한 경우 null을 선호 할 것입니다. 이는 org.apache.commons.lang3.StringUtils.split (str)에서 얻는 것과 정확히 같습니다 .
import org.apache.commons.lang3.StringUtils;
StringUtils.split(null) => null
StringUtils.split("") => []
StringUtils.split("abc def") => ["abc", "def"]
StringUtils.split("abc def") => ["abc", "def"]
StringUtils.split(" abc ") => ["abc"]
또 다른 옵션은 google guava Splitter.split () 및 Splitter.splitToList () 로, 이에 따라 반복기와 목록을 반환합니다. 아파치 버전과 달리 Splitter는 다음에서 NPE를 발생시킵니다 null.
import com.google.common.base.Splitter;
Splitter SPLITTER = Splitter.on(',').trimResults().omitEmptyStrings();
SPLITTER.split("a,b, c , , ,, ") => [a, b, c]
SPLITTER.split("") => []
SPLITTER.split(" ") => []
SPLITTER.split(null) => NullPointerException
반복자가 아닌 목록을 원한다면 Splitter.splitToList () 를 사용하십시오 .
/**
* <pre>
* MyUtils.splitString2SingleAlphaArray(null, "") = null
* MyUtils.splitString2SingleAlphaArray("momdad", "") = [m,o,m,d,a,d]
* </pre>
* @param str the String to parse, may be null
* @return an array of parsed Strings, {@code null} if null String input
*/
public static String[] splitString2SingleAlphaArray(String s){
if (s == null )
return null;
char[] c = s.toCharArray();
String[] sArray = new String[c.length];
for (int i = 0; i < c.length; i++) {
sArray[i] = String.valueOf(c[i]);
}
return sArray;
}
메서드 String.split는 빈 첫 번째를 생성하므로 배열에서 제거해야합니다. 그것은 지루.
이 질문의 제목에 따라 String을 일부 구분 기호로 나눈 하위 문자열 배열로 변환하기를 원했습니다. 동일한 질문을 할 수있는 다른 사람들을 위해 여기에 그 대답을 추가하겠습니다.
이것은 모든 공간에서 문자열을 분할하여 단어 배열을 만듭니다.
String str = "string to string array conversion in java";
String delimiter = " ";
String strArray[] = str.split(delimiter);
그러면 다음 배열이 생성됩니다.
// [string, to, string, array, conversion, in, java]
Java 8에서 테스트 됨
여기에 분할 방법을 사용하여 간단한 문자열을 문자열 배열로 변환합니다.
String [] stringArray="My Name is ABC".split(" ");
산출
stringArray[0]="My";
stringArray[1]="Name";
stringArray[2]="is";
stringArray[3]="ABC";
참고 URL : https://stackoverflow.com/questions/3413586/string-to-string-array-conversion-in-java
'IT' 카테고리의 다른 글
| WinForms의 TextBox에서 포커스를 제거하는 방법은 무엇입니까? (0) | 2020.08.11 |
|---|---|
| iPhone / iPad 용 자바 스크롤 스크롤 이벤트? (0) | 2020.08.11 |
| 로컬 네트워크 사용자가 내 WAMP 사이트에 액세스 할 수있는 방법은 무엇입니까? (0) | 2020.08.11 |
| 자바 펼쳐 쿼리 (0) | 2020.08.11 |
| Excel에서 범위의 각 행을 반복합니다. (0) | 2020.08.11 |