구분 기호로 문자열을 구문 분석하고 맵에로드 하시겠습니까?

user1950349

나는의 형식에 문자열 아래가 key1=value1, key2=value2나는지도에서로드해야하는 (Map<String, String>)key=value내가 쉼표에 분할해야하므로 ,다음로드 cossn키와 같은 0값.

String payload = "cossn=0, abc=hello/=world, Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36";

HashMap<String, String> holder = new HashMap();
String[] keyVals = payload.split(", ");
for(String keyVal:keyVals) {
  String[] parts = keyVal.split("=",2);
  holder.put(parts[0], parts[1]);
}   

나는 java.lang.ArrayIndexOutOfBoundsException이 줄에서 얻고 있으며 값에 여분의 쉼표가 있기 holder.put(parts[0], parts[1]);때문에이 String의 bcoz가 발생 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36합니다 KHTML, like Gecko.

이 문제를 어떻게 해결할 수 있습니까? 일반적으로 아래는지도에로드 한 후 내 키와 값이어야합니다.

Key         Value
cossn       0
abc         hello/=world
Agent       Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36
흡혈귀

키에 영숫자 만 포함되어 있다고 말했듯이 다음은 분할을위한 좋은 휴리스틱이 될 것입니다.

payload.split("\\s*,\\s*(?=[a-zA-Z0-9_]+\\s*=|$)");

문자열의 끝이나 영숫자 키, 선택적 공백 및 등호가 뒤에 오는 공백 프레임 쉼표로 분할됩니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

벡터 문자열을 문자열로 구문 분석 하시겠습니까?

두 개의 구분 기호로 문자열을 분할 하시겠습니까?

문자열을 구문 분석하고 DataFrame에로드

구분 기호를 삭제하지 않고 문자열을 배열로 분할 하시겠습니까?

Java에서 구분 기호로 문자열을 구문 분석하는 방법

문자열을 JS 언어로 구문 분석하고 문자열을 json 또는 xml로 구문 분석

문자열을 구문 분석하고 int 레일로 변환

문자열을 json 문자열로 변환하고 R에서 구문 분석

C++에서 문자열을 숫자 배열로 구문 분석하시겠습니까?

문자 열을 N번째 문자로 구분하시겠습니까?

몇 가지 구분 기호 중 하나로 문자열을 분할 하시겠습니까?

문자열을 맵으로 구문 분석하는 방법

Go로 Wikipedia Infobox를 구문 분석 하시겠습니까?

DateFormatter를 사용하여이 문자열을 날짜로 구문 분석 하시겠습니까?

중첩 된 JSON을 구조체로 구문 분석 하시겠습니까?

HIVE에서 문자열을 맵 배열로 구문 분석하는 방법

여러 구분 기호로 문자열을 분할하고 따옴표로 묶인 구분 기호 무시

문자열을 분해하고 PHP에서 구분 기호 / 구분자 유지

문자열을 시간으로 변환하고 golang에서 구문 분석

여러 구분 기호로 문자열을 구분하고 구분 기호와 구분된 문자열을 반환합니다.

XML을 문자열에서 Python으로 구문 분석하려고합니다.

문자열을 int로 구문 분석하고 밑줄에 실패합니다.

int를 사용하여 문자열을 구문 분석하고 배열로 float

문자열을 DateTime으로 구문 분석하기 어려움

VBA를 사용하여 와일드 카드로 문자열을 구문 분석하고 분할합니까?

문자열과 쉼표로 구분 된 숫자로 줄을 구문 분석하고 캡처하는 정규식

다른 문자열을 구분 기호로 사용하여 문자열을 토큰 목록으로 분리 하시겠습니까?

점을 구분 기호로 사용하여 분할 문자열

PHP : 구분 기호로 문자열을 분할하는 방법

TOP 리스트

  1. 1

    ImageJ-히스토그램 빈을 변경할 때 최대, 최소 값이 변경되는 이유는 무엇입니까?

  2. 2

    상황에 맞는 메뉴 색상

  3. 3

    Excel : 합계가 N보다 크거나 같은 상위 값 찾기

  4. 4

    Oracle VirtualBox-설치를 위해 게스트를 부팅 할 때 호스트 시스템이 충돌 함

  5. 5

    ExecuteNonQuery- 연결 속성이 초기화되지 않았습니다.

  6. 6

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  7. 7

    원-사각형 충돌의 충돌 측면을 찾는 문제

  8. 8

    Matlab의 반복 Sortino 비율

  9. 9

    Apache POI를 사용하여 xlsx를 읽는 동안 주 스레드의 NoSuchMethodError

  10. 10

    Android에서 Drawable을 int로 또는 그 반대로 변환하는 방법

  11. 11

    어떻게 같은 CustomInfoWindow 다른 이벤트를 할 수 있습니다

  12. 12

    openCV python을 사용하여 텍스트 문서에서 워터 마크를 제거하는 방법은 무엇입니까?

  13. 13

    JQuery datepicker 기능이 인식되지 않거나 새 프로젝트에서 작동하지 않음

  14. 14

    PyCharm에서 프로젝트를 제거하는 방법은 무엇입니까?

  15. 15

    regedit에서 방금 내 보낸 Windows 레지스트리 가져 오기 문제

  16. 16

    C ++ VSCode에서 같은 줄에 중괄호 서식 지정

  17. 17

    Python 사전을 사용하는 동안 "ValueError : could not convert string to float :"발생

  18. 18

    자바 스크립트로 duolingo 형 문장 연습을 개발 중입니다. 구현했지만 더 개선이 필요합니다

  19. 19

    react-redux 저장소의 상태 변수는 console.log 후에 정의되지 않습니까?

  20. 20

    cURL 명령은 git bash에서는 작동하지만 cmd 및 powershell에서는 작동하지 않습니다.

  21. 21

    JavaFX : TilePane을 중앙에 배치하고 TilePane 자식을 왼쪽에서 오른쪽으로 배치하는 방법은 무엇입니까?

뜨겁다태그

보관