2013-04-09 3 views
11

이것은 바보 같은 질문이있을 수 있습니다. 의 RegExp을 사용하여 정규 표현식과 일치하는 후 텍스트를 바꿀 수있는 방법에 대한 참조를 찾을 수 없습니다.다트 일치하는 방법을 다음 정규 표현식을 대체

그래서 기본적으로 난 할 노력하고있어 다음과 같이이다 : 그때 내가 기대, 나는이 "$&"를 사용하여 교체 한 후이 패턴 \b\w+\b를 사용하여 문자열을 일치 시키려면이

'{name : aName, hobby : [fishing, playing_guitar]}' 

같은 텍스트가 출력은 다음과 같다 :

'{"name" : "aName", "hobby" : ["fishing", "playing_guitar"]}' 

그래서 나중에 내가 Map에 그것을 설정하는 dart:jsonparse를 사용할 수 있습니다.

어쩌면 내가 뭔가를 놓치고, 포인터를 주겠니?

답변

11

String.replaceAllMapped을 사용해야합니다.

final string = '{name : aName, hobby : [fishing, playing_guitar]}'; 
final newString = string.replaceAllMapped(new RegExp(r'\b\w+\b'), (match) { 
    return '"${match.group(0)}"'; 
}); 
print(newString); 

이 조리법의 후원은 Dart Cookbook입니다.

+0

감사합니다. 매력처럼 작동하고 요리 책을 가리키며 다시 한 번 감사드립니다. –

관련 문제