【第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=%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=%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('&')
【第3句】: 正則表達式來分割文本
不知道你要用什么語言寫,下面是java寫的,可以參考一下: public class App { public static void main(String[] args) { String str = "type=3&fm=flow_monitor&data=%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=%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('&')。
【第4句】: 怎么用正則表達式分割這個字符串
\n是回車,\\n就是字符串\n,不再是回車,當然不能使用\n來分割
分割方法如下:
String s = "ab\ncd\nef\\ngh";
String[] v = s.split("[\n]|([\\\\]n)");
下面解釋一下字符串[\\\\]n"
首先,這是一個字符串,\是java字符串的轉義字符,所又這里實際的字符串是
[\\]n,而這里的\是正則式中的轉義字符,所又在正則式中表示\后跟一個n