关于截取两个特定字符串之间的字符串问题!
有下面一个字符串:
string str="简 历 个人信息 姓 名: 张三 性 别: 男 出生日期: 1984年6月20日 居 住 地: 北京 工作年限: 三年以上 电子邮件: admin@163.com 手 机: 086- 15864321500 目前年薪: 6-8万人民币.... ";
public string[] strArr = { "姓 名", "性 别", "出生日期", "居 住 地", "工作年限", "电子邮件", "手 机", "目前年薪" }; protected void Page_Load(object sender, EventArgs e) { string str = "简 历 个人信息 姓 名: 张三 性 别: 男 出生日期: 1984年6月20日 居 住 地: 北京 工作年限: 三年以上 电子邮件: admin@163.com 手 机: 086- 15864321500 目前年薪: 6-8万人民币.... "; ChangeNews(ref str, strArr); string strNew = str; ClientScript.RegisterStartupScript(this.GetType(), "", str); } private void ChangeNews(ref string str, string[] arr) { for (int i = 0; i < arr.Length; i++) { int j = str.IndexOf(arr[i]); if (j > 0) { str = str.Insert(j, "<br>"); } } }
[解决办法]
没固定规律怎么取字符串。。?
[解决办法]
分割的效果不是很理想,上面这个perfect.
<div id="iOneLabelBox1"> <textarea name="jobResumeContent" cols="120" rows="20" onblur="javascript:this.value=trim(this.value);"></textarea></div>
[解决办法]
只能根据字符分割了。。。
[解决办法]
要截取的空两格行不。。
[解决办法]
藐视没有楼主没有设置分隔符,没有规律,怎么区分?
方案:a设置分割符,用户不能录入分隔符;
b用数组
c其他
[解决办法]
假设文本字段不会有先后顺序的变化的话,可以这样
string str = "简 历 个人信息 姓 名: 张三 性 别: 男 出生日期: 1984年6月20日 居 住 地: 北京 工作年限: 三年以上 电子邮件: admin@163.com 手 机: 086- 15864321500 目前年薪: 6-8万人民币.... "; Regex r = new Regex(@"(姓\s*名):\s*(.+)\s*(性\s*别):\s*(.+)\s*(出\s*生\s*日\s*期):\s*(.+)\s*(居\s*住\s*地):\s*(.+)\s*(工\s*作\s*年\s*限):\s*(.+)\s*(电\s*子\s*邮\s*件):\s*(.+)\s*(手\s*机):\s*(.+)\s*(目\s*前\s*年\s*薪):\s*(.+)\s*"); var m = r.Matches(str); for (int i = 0, l = m.Count; i < l; ++i) { System.Console.WriteLine(String.Format("{0}--{1}", i, m[i].Value)); for (int j = 0, p = m[i].Groups.Count; j < p; ++j) { var g = m[i].Groups[j]; System.Console.WriteLine(String.Format("\t{0}--{1}", j, g.Value)); } } System.Console.ReadKey();
[解决办法]
没规律啊。。。怎样分割?为什么要分割。自己想分割的话应该定义些有规律的
[解决办法]
<script>var str="简 历 个人信息 姓 名: 张三 性 别: 男 出生日期: 1984年6月20日 居 住 地: 北京 工作年限: 三年以上 电子邮件: admin@163.com 手 机: 086- 15864321500 目前年薪: 6-8万人民币.... ";var reg = new RegExp("\\s(.{3,5}:)[ ]?(.*?)[ ]((.{3,5}:)|$)");var i = 0;var collection = [];while(true){ str = str.substr(i); var m = str.match(reg, 20); if(m == null) break; i = m.lastIndex - m[3].length - 1; collection.push({Key: m[1], Value: m[2]}); collection[m[1]] = m[2]}var s = ""for(var i = 0;i < collection.length; i++){ var item = collection[i]; s += item.Key + (item.Key.length > 4 ? "\t" : "\t\t") + item.Value + "\r\n";}alert(collection.length + "个参数\r\n" + s);alert(collection["手 机:"]);window.close();</script>
[解决办法]
始终关注!
[解决办法]
没规律用正则也白搭啊
[解决办法]
没正则很好的,客客的正则没错。
规律,不要紧。
[解决办法]
正则太麻烦了,就用F19firesea(绝版樱木)的方法就很好
[解决办法]