Simple data anonymization: Difference between revisions

From LemonWiki共筆
Jump to navigation Jump to search
Line 5: Line 5:
ex: 王小明 --> 王O明
ex: 王小明 --> 王O明
* Excel:  
* Excel:  
** {{kbd | key=<nowiki>=REPLACE(A2, 2, LEN(A2)-2, O)</nowiki>}} also applied for 3 or 4 words ex: 王王小明 -> 王O明
** {{kbd | key=<nowiki>=REPLACE(A2, 2, LEN(A2)-2, "O")</nowiki>}} also applied for 3 or 4 words ex: 王王小明 -> 王O明
** {{kbd | key=<nowiki>=REPLACE(A2, 2, 1, O)</nowiki>}}<ref>[http://blog.xuite.net/yh96301/blog/80724141-Excel+2010%E5%A7%93%E5%90%8D%E7%9A%84%E7%AC%AC%E4%BA%8C%E5%80%8B%E5%AD%97%E5%8F%96%E4%BB%A3%E7%82%BAO Excel 2010姓名的第二個字取代為O @ 軟體使用教學 :: 隨意窩 Xuite日誌]</ref>  {{exclaim}} only applied for 3 words, NOT for 4 words
** {{kbd | key=<nowiki>=REPLACE(A2, 2, 1, "O")</nowiki>}}<ref>[http://blog.xuite.net/yh96301/blog/80724141-Excel+2010%E5%A7%93%E5%90%8D%E7%9A%84%E7%AC%AC%E4%BA%8C%E5%80%8B%E5%AD%97%E5%8F%96%E4%BB%A3%E7%82%BAO Excel 2010姓名的第二個字取代為O @ 軟體使用教學 :: 隨意窩 Xuite日誌]</ref>  {{exclaim}} only applied for 3 words, NOT for 4 words
* PHP: using regular_replace
* PHP: using regular_replace
<pre>
<pre>

Revision as of 14:05, 3 December 2015

Simple data anonymization 簡易個資去識別化

case1: 王小明 --> 王O明

ex: 王小明 --> 王O明

  • Excel:
    • =REPLACE(A2, 2, LEN(A2)-2, "O") also applied for 3 or 4 words ex: 王王小明 -> 王O明
    • =REPLACE(A2, 2, 1, "O")[1] Icon_exclaim.gif only applied for 3 words, NOT for 4 words
  • PHP: using regular_replace
$string = '王小明';
$pattern = '/^(\X)(\X)(\X+)/u';
$replacement = '$1O$3';
echo preg_replace($pattern, $replacement, $string);
  • MySQL: using SUBSTRING
SELECT CONCAT(SUBSTRING_INDEX('王小明', SUBSTRING('王小明', 2, 1), 1), 
SUBSTRING('王小明', 2, 1),
SUBSTRING_INDEX('王小明', SUBSTRING('王小明', 2, 1), -1));

case2: 王小明 --> 王OO

ex: 王小明 --> 王OO

  • Excel:
    • =REPLACE(A2, 2, LEN(A2)-1, "OO") also applied for 3 or 4 words ex: 王王小明 -> 王OO
    • =REPLACE(A2, 2, 2, "O") Icon_exclaim.gif only applied for 3 words, NOT for 4 words
  • MySQL: SELECT CONCAT(LEFT("王小明", 1), 'OO')

reference

further reading