簡訊切割演算法

2021-04-25 05:40:06 字數 811 閱讀 5284

在乙個專案中,要用到手機傳送簡訊,但是使用的簡訊貓卻無法支援大於70個字元的情況,而且經常收到有朋友的簡訊,比較長的手機都會自動將它切成幾個簡訊傳送。有時候很搞,收到的簡訊有兩條,第二條就只有乙個句號而已。或者幾乎這種手機都不會去理解語義,直接就在70個字元處切割。

要做到完全理解語義也不大可能,但是突然想到,為什麼不可以根據分隔符去切割呢?至少這樣子不會把一段完整的內容不會被強行分割出來。

比如有下面一段話: 

如果簡訊的長度超過70個字元,程式就會自動根據簡訊中的分隔符進行分割,在不是非常苛刻的情況下,它不會將乙個詞分成兩段來發,比如,不會出現"你好"的前乙個字在第一條簡訊內,而"好"字在第二條簡訊內!這都是在不增加簡訊數量的情況下優化的!

普通的簡訊會分成:

1. 如果簡訊的長度超過70個字元,程式就會自動根據簡訊中的分隔符進行分割,在不是非常苛刻的情況下,它不會將乙個詞分成兩段來發,比如,不會出現"你(70個字元)

2.好"的前乙個字在第一條簡訊內,而"好"字在第二條簡訊內!這都是在不增加簡訊數量的情況下優化的!(47個字元)

使用下面的程式,可以得到以下的另一種分法:

1.如果簡訊的長度超過70個字元,程式就會自動根據簡訊中的分隔符進行分割,在不是非常苛刻的情況下,它不會將乙個詞分成兩段來發,比如,(待續)==>68

2.(續)不會出現"你好"的前乙個字在第一條簡訊內,而"好"字在第二條簡訊內!這都是在不增加簡訊數量的情況下優化的!==>56

很顯然,第二種情況才是比較人性化一點的。看看程式吧:

簡訊切割演算法

在乙個專案中,要用到手機傳送簡訊,但是使用的簡訊貓卻無法支援大於70個字元的情況,而且經常收到有朋友的簡訊,比較長的手機都會自動將它切成幾個簡訊傳送。有時候很搞,收到的簡訊有兩條,第二條就只有乙個句號而已。或者幾乎這種手機都不會去理解語義,直接就在70個字元處切割。要做到完全理解語義也不大可能,但是...

文字切割演算法 投影切割優化

前言 在上文 文字切割演算法 基於投影的切割 中發現切割結果並不是很理想,所以在本文提出優化演算法對結果進行進一步處理。本演算法的解決思路很簡單,即針對已暴露出的問題進行解決,對於未暴露的問題就無能為力了。所以演算法的魯棒性並不是很好,但是簡單易實現。對基於投影的切割結果進行觀察,可以將問題總結為三...

鋼條切割 演算法導論

給定長度任意長度的鋼條的價值,求解如何切割,使給定長度為n的鋼條的價值最大。對於長度為n的鋼條,考慮子問題,我們遍歷1 n的第乙個切割的位置j,即得到長度為j和n j的兩段鋼條,第一段不再切割,僅對第二段繼續切割,遞迴求解,於是就得到了乙個遞迴解法。這裡是c語言實現 define crt secur...