2013-04-09 6 views
11

को प्रतिस्थापित करें यह एक मूर्ख सवाल हो सकता है, लेकिन मुझे dart के RegExp का उपयोग करके regexp द्वारा मिलान किए जाने के बाद टेक्स्ट को प्रतिस्थापित करने के तरीके पर कोई संदर्भ नहीं मिल रहा है।डार्ट कैसे मिलान करें और फिर regexp

तो बुनियादी तौर पर मैं क्या करने की कोशिश कर रहा हूँ इस तरह है: मैं इस

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

मैं इस पद्धति का उपयोग कर \b\w+\b तो यह "$&" का उपयोग कर की जगह स्ट्रिंग मिलान करना चाहते हैं की तरह एक पाठ है, तो मैं उम्मीद उत्पादन इस तरह है:

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

तो बाद में मैं एक Map है कि चालू करने के लिए dart:json के parse उपयोग कर सकते हैं।

शायद मुझे कुछ याद आती है, मुझे कुछ पॉइंटर देने की परवाह है?

उत्तर

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

धन्यवाद! एक आकर्षण की तरह काम करता है, और कुकबुक को इंगित करने के लिए आपको फिर से धन्यवाद, पता नहीं है कि एक है। –

संबंधित मुद्दे