it-swarm.asia

إزالة الأخير فاصلة من سلسلة

باستخدام JavaScript ، كيف يمكنني إزالة الفاصلة الأخيرة ، ولكن فقط إذا كانت الفاصلة هي الحرف الأخير أو إذا كانت هناك مساحة بيضاء فقط بعد الفاصلة؟ هذا هو الكود الخاص بي حصلت على عمل كمان . ولكن لديها خطأ.

var str = 'This, is a test.'; 
alert( removeLastComma(str) ); // should remain unchanged

var str = 'This, is a test,'; 
alert( removeLastComma(str) ); // should remove the last comma

var str = 'This is a test,          '; 
alert( removeLastComma(str) ); // should remove the last comma

function removeLastComma(strng){        
    var n=strng.lastIndexOf(",");
    var a=strng.substring(0,n) 
    return a;
}
96
AnaMaria

سيؤدي ذلك إلى إزالة الفاصلة الأخيرة وأي مسافة بيضاء بعدها:

str = str.replace(/,\s*$/, "");

يستخدم تعبير عادي:

  • علامة / بداية ونهاية التعبير العادي

  • تطابق , الفاصلة

  • \s تعني أحرف مسافة بيضاء (مسافة ، علامة تبويب ، إلخ) ويعني * 0 أو أكثر

  • تشير $ في النهاية إلى نهاية السلسلة

310
Jon
function removeLastComma(str) {
   return str.replace(/,(\s+)?$/, '');   
}
8
Daniel Sloof

يمكنك إزالة الفاصلة الأخيرة من سلسلة باستخدام طريقة slice () ، والعثور على أدناه المثال :

var strVal = $.trim($('.txtValue').val());
var lastChar = strVal.slice(-1);
if (lastChar == ',') {
    strVal = strVal.slice(0, -1);
}
6
e-techpulse

تسديدة طويلة هنا

var sentence="I got,. commas, here,";
var pattern=/,/g;
var currentIndex;
while (pattern.test(sentence)==true)  {    
  currentIndex=pattern.lastIndex;
 }
if(currentIndex==sentence.trim().length)
alert(sentence.substring(0,currentIndex-1));
else
 alert(sentence);
3
user2587132

المشكلة هي أن تقوم بإزالة الفاصلة الأخيرة في السلسلة ، وليس الفاصلة إذا كان آخر شيء في السلسلة. لذا يجب عليك تحديد ما إذا كان يجب تحديد ما إذا كان الحرف الأخير "،" وتغييره إذا كان كذلك.

تحرير: هل هو حقا مربكة؟

"هذا ، سلسلة عشوائية"

يعثر الرمز الخاص بك على آخر فاصلة من السلسلة ويخزن فقط "هذا" ، لأن الفاصلة الأخيرة بعد "هذا" وليس في نهاية السلسلة.

1
Hristo Valkanov

إزالة الفاصلة الأخيرة. مثال العمل

function truncateText() {
  var str= document.getElementById('input').value;
  str = str.replace(/,\s*$/, "");
  console.log(str);
}
<input id="input" value="address line one,"/>
<button onclick="truncateText()">Truncate</button>
0
Deepu Reghunath

يمكنك إزالة الفاصلة الأخيرة:

var sentence = "I got,. commas, here,";
sentence = sentence.replace(/(.+),$/, '$1');
console.log(sentence);
0
Trai Hải Phòng

يمكنك إزالة الفاصلة الأخيرة في السلسلة باستخدام سطر واحد فقط في Java

String filterComma=YOUR_STRING_THAT_CONTAINT_COMMA_AT_THE_END.substring(0,YOUR_STRING_THAT_CONTAINT_COMMA_AT_THE_END.lastIndexOf(",")); 
0
Deepak gupta