TRIM 函式

移除隨附在字串前後的空格。單字之間的空格不會被移除。
  • 如果字串以空格、分頁字元或其他不可見的字元開頭或結尾,則此函式將移除這些內容。
  • TRIM 函式不會移除非空白值之間的空格,例如單字之間的空格。若要移除該類型的空白字元,請使用 REMOVEWHITESPACE。請參閱 REMOVEWHITESPACE 函式

基本用法

資料欄參照範例:

derive type:single value:TRIM(MyName)

輸出:MyName 資料欄值的前後移除所有空格。

字串常值範例:

derive type:single value:TRIM(' Hello, World ')

輸出:在新資料欄中寫入 Hello, World 字串。

語法

derive type:single value:TRIM(column_string)

引數是否必要?資料類型說明
column_string字串要套用於函式的資料欄名稱或字串常值

如要進一步瞭解語法標準,請參閱語言文件語法附註

column_string

要修整的資料欄名稱或字串常數。

  • 如果系統找不到字串或資料欄值,會產生空白的字串結果。
  • 字串常數必須以引號括住 ('Hello, World')。
  • 不支援多個資料欄和萬用字元。

使用須知:

是否必要?資料類型範例值
字串常值或資料欄參照myColumn

範例

範例:修整前置及後置空格

在這個範例中,空格值的識別標準如本表所列。ASCII 值資料欄是用來識別代表該字元的 ASCII 字元值。

  • ASCII 字元集是表示電腦上鍵盤和特殊字元的標準方式。如要進一步瞭解 ASCII,請參閱 http://www.asciitable.com/
定義ASCII 值
(space)空格鍵Char(32)
(tab)定位字元Char(9)
(cr)回車字元Char(13)
(nl)換行Char(10)

來源:

在以下範例資料集中,mystring 代表輸入的值。上表中的值會以下方的字串值表示。

mystring
Here's my string.
(space)(space)Here's my string.(space)(space)
(tab)Here's my string.(tab)
(cr)Here's my string.(cr)
(nl)Here's my string.(nl)
(space)(space)(tab)Here's my string.(tab)(space)(space)
(space)(space)(tab)(cr)Here's my string.(cr)(tab)(space)(space)
(space)(space)(tab)(nl)(cr)Here's my string.(cr)(nl)(tab)(space)(space)

輸入:

將上述 CSV 資料匯入「轉換」頁面時,會顯示為下列內容:

mystring
Here's my string.
(space)(space)Here's my string.(space)(space)
"(tab)Here's my string.(tab)"
"(cr)Here's my string.(cr)"
"(nl)Here's my string.(nl)"
"(space)(space)(tab)Here's my string.(tab)(space)(space)"
"(space)(space)(tab)(cr)Here's my string.(cr)(tab)(space)(space)"
"(space)(space)(tab)(nl)(cr)Here's my string.(cr)(nl)(tab)(space)(space)"

轉換:

您可能會注意到匯入值前後出現括號。

注意:如果匯入的字串值包含 Tab 分隔符、回車字元或換行值,前後會加上雙引號。

首先要移除引號。您可以選取資料格線中的任一括號,然後選取適當的「取代」建議項目資訊卡。轉換指令應如下所示:

replace col: mystring on: `"` with: '' global: true

現在,您可以套用 TRIM 函式:

derive type:single value: TRIM(mystring) as: 'trim_mystring'

結果:

在函式產生的 trim_mystring 資料欄中,您可以看到已清理的字串:

mystringtrim_mystring
Here's my string.Here's my string.
(space)(space)Here's my string.(space)(space)Here's my string.
"(tab)Here's my string.(tab)"Here's my string.
"(cr)Here's my string.(cr)"Here's my string.
"(nl)Here's my string.(nl)"Here's my string.
"(space)(space)(tab)Here's my string.(tab)(space)(space)"Here's my string.
"(space)(space)(tab)(cr)Here's my string.(cr)(tab)(space)(space)"Here's my string.
"(space)(space)(tab)(nl)(cr)Here's my string.(cr)(nl)(tab)(space)(space)"Here's my string.

提示:假如任何括住的雙引號遭到移除,則 TRIM 函式會裁去 Tab 分隔符、回車字元和換行值。

範例:搭配使用字串清除函式

以下範例示範如何使用函式來清理字串。這些函式的作用如下:

  • TRIM - 移除前置及後置空格。請參閱 TRIM 函式
  • REMOVEWHITESPACE - 移除前置和後置空格,以及字元間的所有空格。請參閱 REMOVEWHITESPACE 函式
  • REMOVESYMBOLS - 移除不是英數或空格字元的所有字元。請參閱 REMOVESYMBOLS 函式

來源:

在下列範例中,(space)(tab) 分別代表空格鍵和 Tab 鍵。空格字元函式也支援回車和換行字元。

Stringssource
String01this source(space)(space)
String02(tab)(tab)this source
String03(tab)(tab)this source(space)(space)
String04this source's?
String05Why, you @#$%^&*()!
String06this söurce
String07(space)this söurce
String08à mañana

轉換:

下列轉換指令會使用各個字串清理函式產生新的資料欄:

derive type:single value: TRIM(source) as: 'trim_source'

derive type:single value: REMOVEWHITESPACE(source) as: 'removewhitespace_source'

derive type:single value: REMOVESYMBOLS(source) as: 'removesymbols_source'

結果:

Stringssourceremovesymbols_sourceremovewhitespace_sourcetrim_source
String01this source(space)(space) this source(space)(space) thissourcethis source
String02(tab)(tab)this source(tab)(tab)this sourcethissourcethis source
String03(tab)(tab)this source(space)(space)(tab)(tab)this source(space)(space)thissourcethis source
String04this source's?this sourcesthissource's?this source's?
String05Why, you @#$%^&*()!Why you Why,you@#$%^&*()!Why, you @#$%^&*()!
String06this söurcethis surcethissöurcethis söurce
String07(space)this söurce(space)this surcethissöurcethis söurce
String08à mañana maanaà ma ñanaà ma ñana

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Google Cloud Dataprep 說明文件
需要協助嗎?請前往我們的支援網頁