+ 3
Remove only the last space in a text
I would wish to get a simple code that only removes the last space in some text. It could be one word or a sentence, but there should be no space at the end. This is necessitated by the fact that when users are keying in names or other texts like security questions, they tend to press space subconsciously or even when they use the auto suggestions from most browsers and keyboards, I am still learning how to code, am yet to reach to this point of sophisticated coding. Your help would be great
8 Antworten
+ 4
I made a function for this task, using built-in method of the string class. See if it serves the requirements.
function removeLastSpace(s)
{
if (!s.length) return "";
var pos = s.length - 1;
while(s.charAt(pos) == " ") pos--;
return s.slice (0, pos + 1);
}
console.log(removeLastSpace("Hello world! this is me! "));
Reference:
https://www.w3schools.com/jsref/jsref_lastindexof.asp
https://www.w3schools.com/jsref/jsref_slice_string.asp
(Edited - 2)
Thanks to Russ for noting the flaws, and for an idea using loop 👍
+ 2
use trim() in Java
(Removes space from beginning as well as end)
+ 2
Use Regex?
let text = " hi "
text = text.replace(/\s+$/, "")
alert("_" + text + "_") //_ hi_
Or, if regex isn't your thing:
let text = " hi "
while (text[text.length - 1] == " ") {
text = text.slice(0, text.length - 1)
}
alert("_" + text + "_") //_ hi_
+ 2
Ipang I think your solution would work fine if only the original post didn't mention that text could be a sentence. If the user entered a sentence without the extra space at the end, I think your code would remove the last space and then the last word too.
+ 2
Russ
Thanks for pointing the case out, I was only testing with text having a space at their tails. I have edited my response and added a check there, but I gotta strong feeling someone will come up with a better solution in regex anytime soon 😁
(Edit)
Oops you already have a regex solution, didn't see it earlier 😁
+ 1
The trim() function is what you're looking for. It's well supported, so there's no reason to not use it.
+ 1
deleteCharAt(<strVar>.length()-1)
also Trim() can be used.
0
you can use trim()