Tuesday 7 June 2016

ஜாவாஸ்கிரிப்ட்: ஸ்ட்ரிங் ஃபங்சன்கள் Substring() மற்றும் slice() என்ன வேறுபாடு?




 

ஸ்ட்ரிங்(string) அறிமுகம்:

ஸ்ட்ரிங் என்றால் நிரலாக்கத்தை பொறுத்த வரை டெக்ஸ்ட் என்று அர்த்தமாகும். ஜாவா ஸ்கிரிப்டில் அவை இரட்டை மேற்கோள்கள் அல்லது ஒற்றை மேற்கோள்களுக்குள் இருக்கலாம். உதாரணமாக
var str1=”It is a java script string”;
var str2=’It is also a java script string’;
மேலே உள்ள உதாரணங்களில் str1 என்ற ஸ்ட்ரிங் இரட்டை மேற்கோள்களுக்குள்ளும் str2 என்ற ஸ்ட்ரிங் ஒற்றை மேற்கோள்களுக்குள்ளும் உள்ளதை கவனிக்கவும். இரண்டுமே ஜாவாஸ்கிரிப்டில் செல்லுபடியாகும்.
இப்பொழுது ஜாவாஸ்கிரிப்டில் சில ஸ்ட்ரிங் ஃபங்சன்கள் குறித்து பார்ப்போம்
இவை லைப்ரரி ஃபங்சன்கள் ஆகும். பொதுவாக லைப்ரரி ஃபங்சன்கள் எனப்படுவது predefined ஆகும். இதற்கான முழு நிரல் வரிகளையும் நாம் எழுத வேண்டிய அவசியமில்லை. இவற்றை ஒற்றை வரியில் அழைத்தால் போதுமானதாகும்.

concat() ஃபங்சன்

முதலாவதாக concat() என்கின்ற ஃபங்சன் பற்றி பார்ப்போம்.
ஜாவாஸ்கிரிப்டில் இரண்டு ஸ்டிரிங்குகளை + செயற்குறியை(operator) உபயோகித்து இணைக்கலாம்.
உதாரணம்:
var str1=”it is”;
var str2=”javascript world”;
var str3=str1+” “+str2;
alert(str3);
இதன் வெளியீடு:
it is javascript world
இந்த வெளியீடு dialog box ஆக வெளியிடப்படும்.
இதே வரிகளை concat() என்கின்ற ஃபங்சன் உபயோகித்து  பின்வருமாறு அமைக்கலாம்.
var str1=”it is”;
var str2=”javascript world”;
var str3=str1.concat(“ “ , str2);
alert(str3);
இதன் வெளியீடு:
it is javascript world
இதுவும் dialog box ஆக வெளியிடப்படும். மேலே உள்ள நிரலில் முதலில் வெற்று இடைவெளியும் தொடர்ச்சியாக str2 என்ற ஸ்ட்ரிங்கும் இணைக்கப்படும். இவ்வாறு இந்த ஃபங்சனில் கமா(,) கொடுத்து எத்தனை ஸ்ட்ரிங்குகளை வேண்டுமானாலும் இணைக்கலாம்.
பொதுவாக நம் வெளியீட்டில் ஒரு ஸ்ட்ரிங்க்குள் மற்றொரு ஸ்ட்ரிங் ஒற்றை மேற்கோளுடன் வெளியிடப்பட வேண்டுமென்றால் மொத்த ஸ்ட்ரிங்கையும் இரட்டை மேற்களுக்குள்ளும் உள்ளே உள்ள ஸ்ட்ரிங்கை ஒற்றை மேற்கோளுக்குள்ளும் அமைக்கலாம்.
உதாரணமாக
var str=”it is ‘inner’ string”;
அல்லது எஸ்கேப் சீகுயன்ஸ்(escape sequence) மூலமும் இதை செயற்படுத்தலாம்
உதாரணமாக
var str=’it is \‘inner\’ string”;
என்றும் அமைக்கலாம்.இரண்டின் வெயீடும் பின்வருமாறு அமையும்.
it is ‘inner’ string.
மேலை உள்ள இரண்டு உத்தியையும் ஒரு ஸ்ட்ரிங்குக்குள் இரட்டை மேற்கோள்களுக்குள் வெளியிவதற்கும் பயன்படுத்தலாம்.

length  பண்பு:

இந்த பண்பு ஆனது ஒரு ஸ்ட்ரிங்கின் மொத்த எழுத்துக்கள் எண்ணிக்கையை அறிவிக்கின்றது.
var sample=”hello world”;
alert(sample.length);
இதன் வெளியீடு
11
என்று அமையும்.

toUpperCase() ஃஃபங்சன்:

இது ஒரு ஸ்ட்ரிங்கை பெரிய எழுத்துகளாக(uppercase letters) மாற்றுவதற்கு பயன்படுகின்றது.
var sample=”javascript”;
alert(sample.toUpperCase());
வெளியீடு:
JAVASCRIPT
இது dialog box ஆக வெளியிடப்படும்.

toLowerCase() ஃபங்சன்:

இது ஒரு ஸ்ட்ரிங்கை சிறிய எழுத்துகளாக(lowercase letters) மாற்றுவதற்கு பயன்படுகின்றது.
var sample=”JAVASCRIPT”;
alert(sample.toLowerCase());
வெளியீடு:
javascript
இது dialog box ஆக வெளியிடப்படும்.

trim()ஃபங்சன்:

இது ஒரு ஸ்ட்ரிங்கின் தொடக்கத்திலும் முடிவிலும் உள்ள வெற்று இடைவெளியை நீக்க பயன்படுகின்றது.
var str1=” java “;
var str2=” script “;
var result=str1.trim()+str2.trim();
alert(result);
மேலே உள்ள நிரலில் str1 மற்றும் str2 ஆகிய ஸ்ட்ரிங்குகளில் தொடக்கத்திலும், இறுதியிலும் உள்ள வெற்று இடை வெளிகள் நீக்கப்பட்டு பின்பு ஒன்றிணைக்கப்பட்டு பின் வருமாறு வெளியீடு அமையும்.
javascript

replace() ஃபங்சன்:

இது ஒரு நீளமான ஸ்ட்ரிங்கில் குறிப்பிட்ட வாத்தைகளுக்குப் பதில் மற்ற வார்த்தைகளை மாற்றியமைக்க பயன்படுகின்றது. எனினும் இந்த ஃபங்சன் அசலில் எந்த மாற்றத்தையும் ஏற்படுத்தாது.
var str1=”this is vbscript world”;
var str2=str1.replace(“vbscript”, “javascript”);
alert(str2);
வெளியீடு:
this is javascript world.

case sensitive global replacement:

var str1=”there is a Green snake in the green field”;
var result=str1.replace(/green/g,”yellow”);
alert(result);
மேலே உள்ள நிரலில் // என்ற குறியீட்டுக்குள் உள்ள green என்ற வார்த்தையானது g என்ற ஒற்றை எழுத்தால் தொடரப்படுகின்றது. இது str1 என்கின்ற  ஸ்ட்ரிங்கில் எங்கெல்லாம் green என்று வருகின்றதோ அங்கெல்லாம் yellow என்று மாற்றப்படும்.எனினும் இது case sensitive ஆகும். அதாவது முதலில் உள்ள Green  என்கின்ற  வார்த்தை மாறாது . ஏனெனில் இது பெரிய எழுத்துடன் தொடங்குகின்றது.
வெளியீடு:
there is a Green snake in the yellow field

case insensitive global replacement:


இதுவே case insensitive ஆக மாற்றியமைக்கப்பட வேண்டுமென்றால் g உடன் i சேர்க்கப்படுகின்றது.
var str1=”there is a Green snake in the green field”;
var result=str1.replace(/green/gi,”yellow”);
alert(result);
வெளியீடு:
there is a yellow snake in the yellow field

சப்ஸ்ட்ரிங்கின் மூன்று முறைகள்:

பொதுவாக சப்ஸ்ட்ரிங் ஃபங்சன் ஆனது குறிப்பிட்ட ஸ்ட்ரிங்கில் இருந்து ஒரு பகுதியை மட்டும் extract பண்ண பயன்படுகின்றது. இதன் மூன்று வழிமுறைகள்
1.   substring()
2.   substr()
3.   slice()
substring() ஃபங்சன்:
இது இரண்டு பராமீட்டர்களை ஏற்கின்றது.முதல் பராமீட்டர் extract பண்ண வேண்டிய ஸ்ட்ரிங், தொகுப்பில் எந்த இண்டெக்ஸில் தொடங்க வேண்டுமென்றும் இரண்டாவது பராமீட்டர் எந்த இண்டெக்ஸில் முடிய வேண்டுமென்றும் குறிகின்றது.எனினும் முடிவு இண்டெக்ஸில் உள்ள எழுத்து extract பண்ணப்பட்ட ஸ்ட்ரிங்கில் இருக்காது. இரண்டாவது இண்டெக்ஸ் குறிப்பிடப்படவில்லை எனில் தொகுப்பின் இறுதி வரை extract பண்ணப்படும்.
முதலில் உள்ள இண்டெக்ஸை விட இரண்டாவது உள்ள இண்டெக்ஸின் மதிப்பு சிறியதாக உள்ளது எனில் இரண்டும் தானியியங்கி முறையில் ஸ்வாப்(swap) பண்ணப்படுகின்றது.அதாவது இரண்டாவது பராமீட்டர், தொடக்க இண்டெக்ஸ் ஆகவும் முதல் பராமீட்டர், இறுதி இண்டெக்ஸ் ஆகவும் மாற்றப்படுகின்றது.
உதாரணம்:
var str1=”javascript world”;
var str2=str1.substring(0,10);
alert(str2);
(or)
var str1=”javascript world”;
var str2=str1.substring(10,0);
alert(str2);
வெளியீடு:
javascript
நிரல் வரிகளின் இரண்டாவது உள்ள முறையில் தொடக்க இண்டெக்ஸும் இறுதி இண்டெக்ஸும் ஸ்வாப் செய்யப்பட்டு வெளியீடு அமையும்.
குறிப்பு:
ஒரு ஸ்ட்ரிங்கின் இன்டெக்ஸ் பூஜ்யத்தில் தொடங்குகின்றது.

substr() ஃபங்சன்:


இது இரண்டு பராமீட்டர்களை ஏற்கின்றது. முதலில் உள்ள பராமீட்டர் தொடக்க இண்டெக்ஸையும், இரண்டாவது உள்ள பராமீட்டர் extract செய்யப்பட வேண்டிய மொத்த எழுத்துகளின் எண்ணிக்கையையும்  குறிக்கின்றது.இரண்டாவது பராமீட்டர் குறிப்பிடப்படவில்லையென்றால் தொகுப்பின் இறுதி வரை extract செய்கின்றது. இரண்டாவது பராமீட்டர் negative ஆக இருந்தால் வெற்று ஸ்ட்ரிங் வெளியீடாக அமைகின்றது.
உதாரணம்:
var str1=”hello world”;
var result=str1.substr(0,5);
alert(result)
வெளியீடு:
hello
மற்றுமொரு உதாரணம்:
var str1=”hello world”;
var result=str1.substr(6);
alert(result)
வெளியீடு:
world

slice() ஃபங்சன்:

இது இரண்டு பராமீட்டர்களை ஏற்கின்றது.முதல் பராமீட்டர் extract பண்ண வேண்டிய ஸ்ட்ரிங் தொகுப்பில் எந்த இண்டெக்ஸில் தொடங்க வேண்டுமென்றும் இரண்டாவது பராமீட்டர் எந்த இண்டெக்ஸில் முடிய வேண்டுமென்றும் குறிக்கின்றது.எனினும் முடிவு இண்டெக்ஸில் உள்ள எழுத்து extract பண்ணப்பட்ட ஸ்ட்ரிங்கில் இருக்காது. இரண்டாவது இண்டெக்ஸ் குறிப்பிடப்படவில்லை எனில் தொகுப்பின் இறுதி வரை extract பண்ணப்படும்.
உதாரணம்:
var str1=”hello world”;
var str2=str1.slice(0,5);
alert(str2);
வெளியீடு:
hello.
மற்றுமொரு உதாரணம்:
. var str1=”hello world”;
var str2=str1.slice(6);
alert(str2);
வெளியீடு:
world

substring() மற்றும் substr() வேறுபாடு:

substring() என்ற ஃபங்சனில் இரண்டாவது பராமீட்ட்ர் இறுதி இண்டெக்ஸையும் substr() என்ற ஃபங்சனில் இரண்டாவது பராமீட்டர் extract செய்யப்படவேண்டிய மொத்த எழுத்துகளின் எண்ணிக்கையையும் குறிக்கின்றது. மற்றுமொரு வேறுபாடு substr() ஃபங்சன் IE8 மற்றும் அதற்கு முந்தைய பதிப்புகளில் வேலை செய்யாது.

slice() மற்றும் substring() வேறுபாடு:

substring() ஃபங்சனில் முதலில் உள்ள இண்டெக்ஸை விட இரண்டாவது உள்ள இண்டெக்ஸின் மதிப்பு சிறியதாக உள்ளது எனில் இரண்டும் தானியியங்கி முறையில் ஸ்வாப்(swap) பண்ணப்படுகின்றது.அதாவது இரண்டாவது பராமீட்டர் தொடக்க இண்டெக்ஸ் ஆகவும் முதல் பராமீட்டர் இறுதி இண்டெக்ஸ் ஆகவும் மாற்றப்படுகின்றது. slice() ஃபங்சனில் அவ்வாறு ஸ்வாப்(swap) செய்யப்படாது.
                                            -முத்து கார்த்திகேயன்,மதுரை














No comments:

Post a Comment