Trim

Trim

計算機函數
trim()函數移除字符串兩側的空白字符或其他預定義字符。[1]功能除去字符串開頭和末尾的空格或其他字符。函數執行成功時返回删除了string字符串首部和尾部空格的字符串,發生錯誤時返回空字符串("")。如果任何參數的值為NULL,Trim()函數返回NULL。
    中文名: 外文名:Trim 适用領域: 所屬學科: 屬性:函數 參數:string、charlist 相關函數:ltrim()、rtrim() 屬于:空白字符或其他預定義字符

相關函數

ltrim()-移除字符串左側的空白字符或其他預定義字符。

rtrim()-移除字符串右側的空白字符或其他預定義字符。

語法

string trim (string $str [,string $charlist ])

技術細節

版本升級:

相比PHP4.1.0之下,增加了charlist參數。

實例介紹

$text = "ttThese are a few words :) ... ";

$binary = "x09Example stringx0A";

$hello = "Hello World";

var_dump($text,$binary,$hello);

print "n";

$trimmed = trim($text);

var_dump($trimmed);

$trimmed = trim($text," t.");

var_dump($trimmed);

$trimmed = trim($hello,"Hdle");

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);

?>

結果如下:

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(14)"Example string"

Example #2 Trimming array values with trim()

function trim_value(&$value)

{

$value = trim($value);

}

$fruit = array('apple','banana ',' cranberry ');

var_dump($fruit);

array_walk($fruit,'trim_value');

var_dump($fruit);

?>

上例結果如下:

array(3){

=>

string(5)"apple"

=>

string(7)"banana "

=>

string(11)" cranberry "

}

array(3){

=>

string(5)"apple"

=>

string(6)"banana"

=>

string(9)"cranberry"

}

另外,rtrim,ltrim用法與trim用法相同。唯一的差别是ltrim去除左邊的空格,rtrim去除右邊的空格。這個從其首字母不難看出。

SQLTRIM函數

定義和用法

SQL中的TRIM函數是用來移除掉一個字串中的字頭或字尾。最常見的用途是移除字首或字尾的空白。這個函數在不同的資料庫中有不同的名稱:

MySQL: TRIM(),RTRIM(),LTRIM()

Oracle: RTRIM(),LTRIM()

SQL Server: RTRIM(),LTRIM()

各種 trim 函數的語法如下:

LTRIM(字串):将字串左邊的空格移除。

RTRIM(字串): 将字串右邊的空格移除。

TRIM(字串): 将字串首尾兩端的空格移除,作用等于RTRIM和LTRIM兩個函數共同的結果。

ALLTRIM(字串):将字串左右邊兩邊的空格移除。

實例

例1:

SELECT TRIM(' Sample ');

結果:

'Sample'

例2:

SELECT LTRIM(' Sample ');

結果:

'Sample '

例3:

SELECT RTRIM(' Sample ');

結果:

' Sample'

JAVA trim()方法

JAVA中的trim()是去掉首尾空格

例:

String str = " test trim";

System.out.println(str);

System.out.println(str.trim());

輸出結果為:

test trim 這行的首部空格留着

test trim 這行首尾空格被去掉,但是中間的還保留

ASP trim()函數

ASP中的trim()函數的作用是去掉字符中左右兩端的空格

例:

Dim MyVar

MyVar = Trim(" test trim ")

MyVar的值為"test trim"

ASP.NET trim()函數

.net 中Trim()函數的作用是從當前 System.String 對象的開始和末尾移除所有空白字符後保留的字符串。

另外還有

TrimStart(params char[] trimChars) //從當前 System.String 對象移除數組中指定的一組字符的所有前導匹配項。

TrimEnd(params char[] trimChars) //從當前 System.String 對象移除數組中指定的一組字符的所有尾部匹配項。

結果:

newStr1等于"Hello Word !"

newStr2等于"Hello Word ! "

newStr3等于" Hello Word !"

SSDTRIM

原理

原本在機械硬盤上,在删除數據時,系統隻會在邏輯地址表的這個位置做個标記,說明這裡應該是沒有東西了,以後新的數據可以放在這個邏輯位置上。系統并不會發送任何請求給硬盤,因為下次在這個邏輯位置寫入新數據時,系統可以直接找到磁盤上對應的物理位置,将硬盤上該處的無用數據複蓋,因此才有數據恢複的可能。所以對于硬盤的物理内容,在删除文件時其實并沒有發生任何變化。

對于固态硬盤(SSD),由于閃存的固有特性,更新頁之前必須要擦除相關塊。如果不開啟TRIM,在文件系統中早已被删除的塊在物理上還存放着原來的數據,且SSD主控無法知道這個塊已經無用,直到有新的數據要求寫入該塊。物理上存放已無用的數據會在SSD垃圾回收(GC)的過程中被當成有用數據對待,被這對于固态硬盤的壽命是非常不利的,同時會導緻其工作效率和性能的降低。

而當Windows識别到SSD并确認SSD支持TRIM後,在删除數據時,向SSD發出TRIM指令,通知SSD主控對應的頁面已經無效,SSD啟動GC(垃圾回收)機制時,就可以及時釋放這些頁面。未來有數據需要寫入的時候,直接就可以寫入了。

所以說,TRIM隻是避免SSD在垃圾回收時将無用數據當成有用數據來搬運,從而延長了SSD的壽命。以上就是Trim的原理以及真正作用。

驗證方法

win7下Trim驗證方法

其實Windows 7默認狀态下Trim指令是開啟的,如果想查詢當前的Trim指令狀态,我們可以在管理員權限下,進入命令提示符界面,輸入“fsutil behavior QUERY DisableDeleteNotify”,之後會得到相關查詢狀态的反饋。在這裡,提示為“DisableDeleteNotify = 0”即Trim指令已啟用;提示為“DisableDeleteNotify=1”即為Trim指令未啟用。

并不是操作系統提供Trim指令支持,所有SSD都能享受到Trim技術所帶來的好處,這還需要固态硬盤的固件支持才能實現。一些主要的固态硬盤主控芯片廠商已經提供了支持Trim的固件(例如英特爾"X25-M G2"),不過也有廠商開發出不依賴操作系統的垃圾回收技術,通過回收不再使用的閃存區塊加入負載平衡算法,防止固态硬盤在長期使用後速度下滑,并延長閃存使用壽命,過程完全在固态硬盤内部完成。

上一篇:束手無策

下一篇:淘寶店鋪裝修教程

相關詞條

相關搜索

其它詞條