텍스트에서 특정 데이터 가져 오기-Java

Thomas Simonsen Strømmen

마인 크래프트 용 bukkit 플러그인을 만들고 있는데 계속 진행하기 전에 몇 가지 사항을 알아야합니다. 텍스트에이 레이아웃이 있는지 확인하고 싶습니다. 예를 들어 "B : 10 S : 5"입니다. Buy : amount 및 Sell : amount를 의미합니다. 구문을 따르는 경우 가장 쉬운 방법을 어떻게 확인할 수 있습니까? 0 이상의 숫자가 될 수 있습니다.

또 다른 문제는 텍스트에서이 데이터를 가져 오는 것입니다. B :와 S : 뒤에 어떤 텍스트가 있는지 확인하고 정수로 반환하려면 어떻게해야하나요?

어디서부터 시작해야할지 모르기 때문에 아직 시도하지 않았습니다.

도와 주셔서 감사합니다!

ldmtwo

당신이 준 간단한 문제에서 당신은 간단한 대답으로 벗어날 수 있습니다. 그렇지 않으면 아래의 정규식 답변을 참조하십시오.

boolean test(String str){
try{
//String str = "B:10 S:5";
String[] arr = str.split(" ");//split to left and right of space = [B:10,S:5]
String[] bArr = arr[0].split(":");//split ...first colon = [B,10]
String[] sArr = arr[1].split(":");//... second colon = [S,5]

//need to use try/catch here in case the string is not an int value.
String labelB = bArr[0];
Integer b = Integer.parseInt(bArr[1]);
String labelS = sArr[0];
Integer s = Integer.parseInt(sArr[1]);
}catch( Exception e){return false;}
return true;
}

관련 작업에 대해서는 여기에서 내 대답을 참조하십시오. 자세한 내용은 아래에서 확인하세요. 집합의 문자열을 어떻게 구문 분석 할 수 있습니까?

기본적으로 정규식을 사용하고 그룹을 반복해야합니다. 문법이 항상 B와 S가 아닌 경우를 대비하여 좀 더 추상적으로 만들었고, 어떤 이유로 든 중간에 여백이 더 있으면 더 넓게 만들었습니다. 패턴은 label1, number1, label2 및 number2의 4 개의 그룹 (괄호로 표시됨)이 있음을 나타냅니다. +는 1 이상을 의미합니다. []는 문자 집합을 의미합니다. az는 문자 범위입니다 (AZ와 az 사이에 아무것도 넣지 마십시오). 알파벳 및 숫자 패턴을 표시하는 다른 방법도 있지만 읽기가 더 쉽습니다.

//this is expensive    
Pattern p=Pattern.compile("([A-Za-z]+):([0-9]+)[ ]+([A-Za-z]+):([0-9]+)");


    boolean test(String txt){
        Matcher m=p.matcher(txt);
        if(!m.matches())return false;
        int groups=m.groupCount();//should only equal 5 (default whole match+4 groups) here, but you can test this

        System.out.println("Matched: " + m.group(0));
         //Label1 = m.group(1);
         //val1 = m.group(2);
         //Label2 = m.group(3);
         //val2 = m.group(4);

       return true;
    }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

텍스트 줄에서 특정 데이터 가져 오기

분류에서Dev

특정 위치 이후 EditText에서 텍스트 가져 오기

분류에서Dev

텍스트 파일에서 특정 데이터를 가져 오는 방법

분류에서Dev

Android : 데이터베이스에서 특정 행 가져 오기

분류에서Dev

인스턴스에서 특정 데이터 가져 오기

분류에서Dev

컨트롤러에서 특정 데이터 만 가져 오기

분류에서Dev

액세스 데이터베이스에서 특정 데이터 가져 오기

분류에서Dev

데이터베이스에서 특정 데이터 가져 오기

분류에서Dev

JAVA : 텍스트 파일에서 특정 문자열의 내용 가져 오기

분류에서Dev

NonStatic Java에서 정적 데이터 가져 오기

분류에서Dev

MySQL 테이블에서 특정 데이터 가져 오기

분류에서Dev

어레이에서 특정 데이터 가져 오기

분류에서Dev

Wagtail / Puput에서 특정 페이지의 컨텍스트 가져 오기

분류에서Dev

중첩 된 JSON 데이터에서 특정 값 가져 오기

분류에서Dev

awk로 ipconfig에서 특정 데이터 가져 오기

분류에서Dev

JSON에서 특정 데이터 가져 오기

분류에서Dev

배열 객체 (php)에서 특정 데이터 가져 오기

분류에서Dev

XML에서 특정 데이터 가져 오기

분류에서Dev

특정 ARRAY에서 데이터 가져 오기

분류에서Dev

데이터 프레임에서 특정 값 가져 오기

분류에서Dev

데이터 프레임에서 특정 값 가져 오기

분류에서Dev

특정 파일에서 데이터 가져 오기

분류에서Dev

데이터에서 특정 문자열 가져 오기

분류에서Dev

문자열에서 특정 데이터 가져 오기

분류에서Dev

curl에서 특정 데이터 가져 오기

분류에서Dev

AS3의 PHP에서 특정 데이터 가져 오기

분류에서Dev

특정 셀에서 Excel 데이터 가져 오기

분류에서Dev

Angular JS, JSON 파일에서 특정 데이터 가져 오기

분류에서Dev

Excel 열에서 특정 데이터 가져 오기

Related 관련 기사

  1. 1

    텍스트 줄에서 특정 데이터 가져 오기

  2. 2

    특정 위치 이후 EditText에서 텍스트 가져 오기

  3. 3

    텍스트 파일에서 특정 데이터를 가져 오는 방법

  4. 4

    Android : 데이터베이스에서 특정 행 가져 오기

  5. 5

    인스턴스에서 특정 데이터 가져 오기

  6. 6

    컨트롤러에서 특정 데이터 만 가져 오기

  7. 7

    액세스 데이터베이스에서 특정 데이터 가져 오기

  8. 8

    데이터베이스에서 특정 데이터 가져 오기

  9. 9

    JAVA : 텍스트 파일에서 특정 문자열의 내용 가져 오기

  10. 10

    NonStatic Java에서 정적 데이터 가져 오기

  11. 11

    MySQL 테이블에서 특정 데이터 가져 오기

  12. 12

    어레이에서 특정 데이터 가져 오기

  13. 13

    Wagtail / Puput에서 특정 페이지의 컨텍스트 가져 오기

  14. 14

    중첩 된 JSON 데이터에서 특정 값 가져 오기

  15. 15

    awk로 ipconfig에서 특정 데이터 가져 오기

  16. 16

    JSON에서 특정 데이터 가져 오기

  17. 17

    배열 객체 (php)에서 특정 데이터 가져 오기

  18. 18

    XML에서 특정 데이터 가져 오기

  19. 19

    특정 ARRAY에서 데이터 가져 오기

  20. 20

    데이터 프레임에서 특정 값 가져 오기

  21. 21

    데이터 프레임에서 특정 값 가져 오기

  22. 22

    특정 파일에서 데이터 가져 오기

  23. 23

    데이터에서 특정 문자열 가져 오기

  24. 24

    문자열에서 특정 데이터 가져 오기

  25. 25

    curl에서 특정 데이터 가져 오기

  26. 26

    AS3의 PHP에서 특정 데이터 가져 오기

  27. 27

    특정 셀에서 Excel 데이터 가져 오기

  28. 28

    Angular JS, JSON 파일에서 특정 데이터 가져 오기

  29. 29

    Excel 열에서 특정 데이터 가져 오기

뜨겁다태그

보관