2010-03-27 15 views
6

क्या रेगेक्सपी पैटर्न मैच को लोअरकेस में बदलना संभव है?रेगेक्स अपरकेस को लोअरकेस

var pattern:RegExp; 
var str:String = "HI guys"; 
pattern = /([A-Z]+)/g; 
str = str.replace(pattern, thisShouldBeLowerCase); 

आउटपुट इस तरह दिखना चाहिए: "हाय लोग"

उत्तर

7

आप कुछ इस तरह कर सकते हैं, लेकिन साथ आप वास्तव में क्या जरूरत है पैटर्न बदल देते हैं: arguments चर समारोह मापदंडों को संदर्भित एक आंतरिक चर रहा है

public static function lowerCase(string:String, pattern:RegExp = null):String 
{ 
    pattern ||= /[A-Z]/g; 
    return string.replace(pattern, function x():String 
    { 
     return (arguments[0] as String).toLowerCase(); 
    }); 
} 

trace(lowerCase('HI GUYS', /[HI]/g)); // "hi GUYS"; 

है। आशा है कि मदद करता है,

लांस

+0

थैक्स में चाहिए, मैं इसे आज़मा दूंगा, लेकिन यह आशाजनक लगता है :) – luccio

0

नहीं, यह regex का उपयोग कर संभव नहीं है। आप केवल Aa, Bb आदि के साथ प्रतिस्थापित कर सकते हैं, सभी एक साथ नहीं।

क्यों नहीं toLowerCase() का उपयोग करें?

+0

मैं एचटीएमएल टैग को प्रतिस्थापित करना चाहता हूं, और वे ऊपरी मामले में हैं, लेकिन एक्सएचटीएमएल केवल लोअरकेस टैग की अनुमति देता है, इसलिए मुझे उन्हें लोअरकेस – luccio

7
var html = '<HTML><HEAD><BODY>TEST</BODY></HEAD></HTML>'; 
var regex = /<([^>]*)>/g; 
html = html.replace(regex, function(x) { return x.toLowerCase() }); 
alert(html); 
1

बदलें ActionSctipn में कम करने के लिए सभी ऊपरी अंग्रेज़ी अक्षरों 3

var pattern:RegExp = /[A-Z]/g; 
contentstr = contentstr.replace(pattern,function(a:String,b:int,c:String):String { return a.toLowerCase() }); 
4

s/[A-Z]/\l&/g 

लोअरकेस और अपरकेस में

s/[a-z]/\u&/g 
+0

/'जावास्क्रिप्ट में काम नहीं करेगा। – loretoparisi

0

आप string.replace

अपने मामले में के लिए दूसरा तर्क के रूप में एक समारोह का उपयोग कर सकते हैं

var pattern:RegExp; 
var str:String = "HI guys"; 
pattern = /([A-Z]+)/g; 
str = str.replace(pattern, function(search, match1) { 
    return match1.toLowerCase() } 
); 

इस्तेमाल कर सकते हैं इसके बारे में और अधिक पढ़ यहाँ Javascript: how to pass found string.replace value to function?

0

आप पूरा कन्वर्ट करने के लिए चाहते हैं लोअरकेस को स्ट्रिंग करें, फिर जावास्क्रिप्ट में .toLowerCase() या .toUpperCase() का उपयोग करें।

यदि आप किसी स्ट्रिंग में लोअरकेस के साथ एक विशेष अक्षर को प्रतिस्थापित करना चाहते हैं तो Regex बेहतर है।

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