【第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