正則表達式切分句子

解夢佬 0

1. 求根據標點符號分割句子的正則表達式,保留標點,返回一個數據

正則表達式可沒法完成分割功能,提供一個思路,就是先把原字符串中的標點都替換成標點+特殊字符(這里可以用一個特殊點的字符,如"?"替換為"?^"),然后將替換后的字符串按特殊字符分割即可,不知道你用的什麼開發語言,C#的代碼如下

string str = "你好? 這是個測試。s is referred to? oh,yes.";

str = str.Replace("?", "?^").Replace("。", "。^").Replace("?", "?^").Replace(".", ".^");

string[] strArray = str.Split(new char[] { '^' }, StringSplitOptions.RemoveEmptyEntries);

2. 正則表達式來分割文本

不知道你要用什麼語言寫,下面是java寫的,可以參考一下:

public class App {

public static void main(String[] args) {

String str = "type=3&fm=flow_monitor&data=https://www.taoduyx.com/z/%5B%7B%7D%5D&q=03121&qid=f9e4a70e00058e95&rsv_did=56bc1f8648aaafa72ab9dfd2187f1001&rsv_tn=baidu&rsv_sid=1435_21086_26350_20718&t=1532154686223";

String[] items = str.split("&");

for (String item : items) {

System.out.println(item);

}

}

}運行結果:

如果是 javascript 用 str.split('&;') 就可以分割了

var str = "type=3&fm=flow_monitor&data=https://www.taoduyx.com/z/%5B%7B%7D%5D&q=03121&qid=f9e4a70e00058e95&rsv_did=56bc1f8648aaafa72ab9dfd2187f1001&rsv_tn=baidu&rsv_sid=1435_21086_26350_20718&t=1532154686223"

var items = str.split('&')