Cách xóa khoảng trắng thừa trong chuỗi
Xóa khoảng trắng thừa trong chuỗi là việc chúng ta thường xuyên gặp phải trong quá trình code ở mọi ngôn ngữ lập trình. Đôi khi việc phải xóa khoảng trắng thừa của một chuỗi khá là chớ trêu đúng không nào. Bài viết này mình sẽ hướng dẫn các bạn cách xóa dấu cách thừa trong chuỗi ở các ngôn ngữ lập trình khác nhau. Bạn có thể tìm tới mục ngôn ngữ mà bạn cần và xem cách làm nhé.
Nếu ký tự đầu, cuối chuỗi hoặc trong thân chuỗi của bạn có cách khoảng trắng thừa (space, tab, newline) thì bạn không cần lo quá đâu. Vì hầu hết các ngôn ngữ đều có hàm để xử lý việc xóa khoảng trắng dư thừa đầu & cuối chuỗi. Bonus thêm, mình sẽ chỉ bạn luôn cách xóa tất cả khoảng trắng thừa luôn.
Kiến thức yêu cầu:
- Kiến thức cơ bản về ngôn ngữ lập trình bạn sử dụng
- Kiến thức về regular expression (biểu thức chính quy)
Contents
Xóa khoảng trắng thừa trong chuỗi Java
Ngôn ngữ Java có hàm str.trim()
để xóa khoảng trắng thừa đầu, cuối chuỗi. Bạn chỉ cần 1 dòng code để xử lý việc này:
1
2
3
4
5
6
7
8
9
public
class
Main
{
public
static
void
main
(
String
args
[
]
)
{
String
str
=
” Lập Trình Không Khó “
;
System
.
out
.
println
(
“String: “
+
str
)
;
System
.
out
.
(
“Sau khi xóa khoảng trắng thừa: “
)
;
System
.
out
.
println
(
str
.
trim
(
)
)
;
}
}
Kết quả:
1
2
3
String: Lập Trình Không Khó
Sau khi xóa khoảng trắng thừa: Lập Trình Không Khó
Dành cho bạn: Khóa học Java căn bản
Nếu bạn muốn xóa toàn bộ khoảng trắng thừa trong chuỗi với Java:
1
2
3
4
5
6
7
8
9
public
class
Main
{
public
static
void
main
(
String
args
[
]
)
{
String
str
=
” Lập Trình Không Khó “
;
System
.
out
.
println
(
“String: “
+
str
)
;
System
.
out
.
(
“Sau khi xóa khoảng trắng thừa: “
)
;
System
.
out
.
println
(
str
.
replaceAll
(
“\s\s+”
,
” “
)
.
trim
(
)
)
;
}
}
Kết quả:
1
2
3
String: Lập Trình Không Khó
Sau khi xóa khoảng trắng thừa: Lập Trình Không Khó
Xóa khoảng trắng thừa trong chuỗi C#
Xóa khoảng trắng thừa trong C# cũng hết sức đơn giản, bạn có thể sử dụng hàm String.Trim()
để xóa khoảng trắng thừa đầu cuối và dùng regex để xóa khoảng trắng thừa trong chuỗi.
Bạn tránh biên dịch regex nhiều lần nhé. Hãy biên dịch 1 lần (như ví dụ dưới đây) để tránh chương trình phải xử lý lặp lại:
1
2
3
4
5
String
sent
=
” Lập Trình Không Khó “
;
sent
=
sent
.
Trim
(
)
// Xóa đầu cuối
Regex
trimmer
=
new
Regex
(
@
“ss+”
)
;
// Xóa khoảng trắng thừa trong chuỗi
sent
=
trimmer
.
Replace
(
sent
,
” “
)
;
Kết quả:
1
2
Lập Trình Không Khó
Xóa khoảng trắng thừa trong chuỗi PHP
Để xóa khoảng trắng thừa và các ký tự bạn không mong muốn ở đầu và cuối chuỗi trong PHP, bạn có thể sử dụng hàm trim()
có cú pháp:
1
2
trim
(
string
,
charlist
)
Trong đó:
- string: Chuỗi cần xử lý
- charlist: (Tùy chọn), mặc định sẽ bao gồm:
- “ ” – NULL
- “t” – dấu tab
- “n” – dấu xuống hàng
- “x0B” – dấu vertical tab
- “r” – dấu lùi về đầu dòng
- ” ” – Khoảng trắng
Ví dụ xóa khoảng trắng thừa trong PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
$text
=
“ttThese are a few words ? … “
;
$binary
=
“x09Example stringx0A”
;
$hello
=
“Hello World”
;
var_dump
(
$text
,
$binary
,
$hello
)
;
“n”
;
$trimmed
=
trim
(
$text
)
;
var_dump
(
$trimmed
)
;
$trimmed
=
trim
(
$text
,
” t.”
)
;
var_dump
(
$trimmed
)
;
$trimmed
=
trim
(
$hello
,
“Hdle”
)
;
var_dump
(
$trimmed
)
;
$trimmed
=
trim
(
$hello
,
‘HdWr’
)
;
var_dump
(
$trimmed
)
;
// trim the ASCII control characters at the beginning and end of $binary
// (from 0 to 31 inclusive)
$clean
=
trim
(
$binary
,
“x00..x1F”
)
;
var_dump
(
$clean
)
;
?>
Kết quả chạy:
1
2
3
4
5
6
7
8
9
10
11
string(32) ” These are a few words ? … “
string(16) ” Example string
“
string(11) “Hello World”
string(28) “These are a few words ? …”
string(24) “These are a few words :)”
string(5) “o Wor”
string(9) “ello Worl”
string(14) “Example string”
Và nếu bạn muốn xóa tất cả khoảng trắng thừa ở bên trong chuỗi, sử dụng regex để xóa:
1
2
$foo
=
preg_replace
(
‘/s+/’
,
‘ ‘
,
$foo
)
;
Xóa khoảng trắng thừa trong Javascript
Để xóa khoảng trắng thừa trong Javascript, bạn có thể dùng hàm trim()
tương tự các ngôn ngữ khác để xóa khoảng trắng đầu cuối. Và dùng regex để xóa khoảng trắng thừa ở các vị trí khác.
Xem ví dụ sử dụng hàm trim()
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<
!
DOCTYPE
html
>
<
html
>
<
body
>
<
p
>
Click
v
à
o
button
để
xem
k
ế
t
qu
ả
.
<
/
p
>
<
button
onclick
=
“myFunction()”
>
Xem
k
ế
t
qu
ả
<
/
button
>
<
p
>
<
strong
>
L
ư
u
ý
:
<
/
strong
>
H
à
m
trim
(
)
kh
ô
ng
h
ỗ
tr
ợ
tr
ê
n
IE
8
ho
ặ
c
th
ấ
p
h
ơ
n
.
<
/
p
>
<script>
function
myFunction
(
)
{
var
str
=
” lập trình không khó! “
;
alert
(
str
.
trim
(
)
)
;
}
</script>
<
/
body
>
<
/
html
>
Dành cho bạn: Khóa học Javascript căn bản
Và để xóa khoảng trắng thừa trong toàn bộ chuỗi với Javascript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<
!
DOCTYPE
html
>
<
html
>
<
body
>
<
p
>
Click
v
à
o
button
để
xem
k
ế
t
qu
ả
.
<
/
p
>
<
button
onclick
=
“myFunction()”
>
Xem
k
ế
t
qu
ả
<
/
button
>
<
p
>
<
strong
>
L
ư
u
ý
:
<
/
strong
>
H
à
m
trim
(
)
kh
ô
ng
h
ỗ
tr
ợ
tr
ê
n
IE
8
ho
ặ
c
th
ấ
p
h
ơ
n
.
<
/
p
>
<script>
function
myFunction
(
)
{
var
str
=
” lập trình không khó! “
;
alert
(
str
.
replace
(
/s+/g
,
‘ ‘
)
.
trim
(
)
)
;
}
</script>
<
/
body
>
<
/
html
>
Xóa khoảng trắng thừa trong chuỗi Python
Việc xóa khoảng trắng thừa trong Python cũng tương tự như các ngôn ngữ lập trình kể trên. Xem ví dụ dưới đây để nắm rõ cách làm:
1
2
3
s
=
” t a string examplet “
s
=
s
.
strip
(
)
Mặc định strip()
trong Python chỉ xóa dấu cách (space), để thêm các ký tự cần xóa, chẳng hạn như tập hợp dấu cách
, t
, n
và r
, ta làm như sau:
1
2
s
=
s
.
strip
(
‘ tnr’
)
Và bạn cũng có thể truyền vào các ký tự khác mà bạn muốn xóa ở đầu, cuối chuỗi chứ không chỉ khoảng trắng.
Dành cho bạn: Khóa học Python căn bản
Trong trường hợp bạn muốn xóa khoảng trắng thừa ở bất kỳ đầu trong chuỗi, hãy sử dụng cách dưới đây:
1
2
3
4
import
re
s
=
” example text “
;
(
re
.
sub
(
r
‘ss+’
,
‘ ‘
,
s
.
trim
(
)
)
)
Than gia nhóm Lập Trình Không Khó trên Facebook tại đây