[英]Regex for replace the string on particular position
MSH|^~\\&|RAD|MCH|SOARCLIN|MCH|201309281506||ORU^R01|RMS|P|2.4 PID|0001|_MISSING_|059805^a~059805^a~059805^a||RENNER^KATHRYN^
在上述字符串中,我需要根據|替換字符串。 (管道符號)計數。
例如:
MSH管線要在(|)管道標志“ MCH”的第3個位置替換為“ ABC”
輸入:MSH | ^〜\\&| RAD | MCH | SOARCLIN | MCH | 201309281506 || ORU ^ R01 | RMS | P | 2.4
輸出:MSH | ^〜\\&| RAD | MCH | SOARCLIN | ABC | 201309281506 || ORU ^ R01 | RMS | P | 2.4
String repSection( String del, int count, String rep ){
String[] toks = theString.split( Pattern.quote( del ) );
toks[count] = rep;
theString = String.join( del, toks );
}
呼叫:
String result = repSection( "|", 3, "ABC" );
這取決於單獨計數。 第三和第四管道字符之間沒有關系。
我比較喜歡這種花哨且難以維護的正則表達式。
s = s.replaceAll( "^((?:[^|]*\\|){3})[^|]*", "$1|ABC" );
同樣,這並不關心第三和第四管道符號之間的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.