1

I have a 'textformfeild' that takes strings and I want to trim the white spaces at the begining and the end and strict the one in the middle to only one space.

for example if my string is like this:(....AB....CD.....) where the black dots represent the white spaces.

and I wanna make it look like this:(AB.CD)

any idea on how to do that? this is what I tried to do:

userWeight!.trim()

but this will remove all the white spaces including the one in the middle

1
  • trim() should not remove stuff in the middle. Can you demonstrate this behaviour with an example? Commented Aug 12, 2022 at 4:15

5 Answers 5

4

trim will remove left and right spaces. You can use RegExp to remove inner spaces:

void main(List<String> args) {
  String data = "       AB      CD   ";

  String result = data.trim().replaceAll(RegExp(r' \s+'), ' ');

  print(result); //AB CD
}
Sign up to request clarification or add additional context in comments.

2 Comments

Others short form are described here
Thanks Yeasin, this is exactly the behaviour I was looking for
1

Trim - If you use trim() this will remove only first and end of the white spaces example,

String str1 = "   Hello World  "; 
print(str1.trim()); 

The output will be only = Hello World

For your purpose you may use replaceAll

String str1 = "....AB....CD....."; 
print(str1.replaceAll("....",".")); 

The output will be = ".AB.CD."

If you still want to remove first and last . use substring

String str1 = "....AB....CD....."; 
print(str1.replaceAll("....",".").substring( 1, str1.length() - 1 )); 

The output will be = "AB.CD"

This is what your expected output is.

Comments

0

Trim will remove white spaces before and after the string..

preview

2 Comments

Sorry maybe I was not actually very clear but I also wanted to insure that there will be only one space in the middle when i said "and strict the one in the middle to only one space." cause whaen I tried it with multiple spaces it only remove the ones at the begining and the end
for example (....AB....CD.....) came out as AB....CD but I wanted it to be AB.CD
0

Trim will only remove the leading and trailing spaces or white space characters of a given string

Refer this for more:

https://api.flutter.dev/flutter/dart-core/String/trim.html

1 Comment

whr do u frm in India ?
0
 String str = "  AB        CD  ";
  
  str = str.trim();
  while (str.contains("  ")) {
    str = str.replaceAll("  ", " ");
  }
  
  print(str);

enter image description here

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.