我有这串

'john smith~123 Street~Apt 4~New York~NY~12345'

使用JavaScript,将其解析为最快的方法是

var name = "john smith";
var street= "123 Street";
//etc...

#1楼

即使这不是最简单的方法,也可以执行以下操作:

var addressString = "~john smith~123 Street~Apt 4~New York~NY~12345~",keys = "name address1 address2 city state zipcode".split(" "),address = {};// clean up the string with the first replace
// "abuse" the second replace to map the keys to the matches
addressString.replace(/^~|~$/g).replace(/[^~]+/g, function(match){address[ keys.unshift() ] = match;
});// address will contain the mapped result
address = {address1: "123 Street"address2: "Apt 4"city: "New York"name: "john smith"state: "NY"zipcode: "12345"
}

使用解构的ES2015更新

const [address1, address2, city, name, state, zipcode] = addressString.match(/[^~]+/g);// The variables defined above now contain the appropriate information:console.log(address1, address2, city, name, state, zipcode);
// -> john smith 123 Street Apt 4 New York NY 12345

#2楼

如果找到分离器,则仅

拆分

否则返回相同的字符串

 function SplitTheString(ResultStr) { if (ResultStr != null) { var SplitChars = '~'; if (ResultStr.indexOf(SplitChars) >= 0) { var DtlStr = ResultStr.split(SplitChars); var name = DtlStr[0]; var street = DtlStr[1]; } } } 

#3楼

Zach拥有这一权利。.使用他的方法,您还可以制作一个看似“多维”的数组。.我在JSFiddle http://jsfiddle.net/LcnvJ/2/上创建了一个快速示例

// array[0][0] will produce brian
// array[0][1] will produce james// array[1][0] will produce kevin
// array[1][1] will produce haleyvar array = [];array[0] = "brian,james,doug".split(",");array[1] = "kevin,haley,steph".split(",");

#4楼

您可以使用split分割文本。

另外,您也可以按照以下方式使用match

 var str = 'john smith~123 Street~Apt 4~New York~NY~12345'; matches = str.match(/[^~]+/g); console.log(matches); document.write(matches); 

正则表达式[^~]+将匹配~以外的所有字符,并以数组形式返回匹配项。 然后,您可以从中提取匹配项。


#5楼

根据ECMAScript6 ES6 ,干净的方法是破坏数组:

 const input = 'john smith~123 Street~Apt 4~New York~NY~12345'; const [name, street, unit, city, state, zip] = input.split('~'); console.log(name); // john smith console.log(street); // 123 Street console.log(unit); // Apt 4 console.log(city); // New York console.log(state); // NY console.log(zip); // 12345 

您可能在输入字符串中包含其他项。 在这种情况下,您可以使用rest运算符获取其余的数组,或者忽略它们:

 const input = 'john smith~123 Street~Apt 4~New York~NY~12345'; const [name, street, ...others] = input.split('~'); console.log(name); // john smith console.log(street); // 123 Street console.log(others); // ["Apt 4", "New York", "NY", "12345"] 

我应该以只读的方式引用值,并使用const声明。

享受ES6!


#6楼

使用此代码-

function myFunction() {
var str = "How are you doing today?";
var res = str.split("/");}

#7楼

这个string.split("~")[0]; 把事情做好。

来源: String.prototype.split()


另一种使用咖喱和功能成分的功能方法。

因此,第一件事就是拆分功能。 我们要将这个"john smith~123 Street~Apt 4~New York~NY~12345"成这个["john smith", "123 Street", "Apt 4", "New York", "NY", "12345"]

const split = (separator) => (text) => text.split(separator);
const splitByTilde = split('~');

因此,现在我们可以使用我们专用的splitByTilde函数。 例:

splitByTilde("john smith~123 Street~Apt 4~New York~NY~12345") // ["john smith", "123 Street", "Apt 4", "New York", "NY", "12345"]

要获得第一个元素,我们可以使用list[0]运算符。 让我们构建first功能:

const first = (list) => list[0];

该算法是:用冒号分隔,然后获取给定列表的第一个元素。 因此,我们可以组合这些函数来构建最终的getName函数。 用reduce构建一个compose函数:

const compose = (...fns) => (value) => fns.reduceRight((acc, fn) => fn(acc), value);

现在使用它来组成splitByTildefirst函数。

const getName = compose(first, splitByTilde);let string = 'john smith~123 Street~Apt 4~New York~NY~12345';
getName(string); // "john smith"

#8楼

由于逗号分割问题与该问题重复,因此请在此处添加。

如果要拆分一个字符并处理该字符后可能出现的多余空格(通常在逗号中出现),则可以使用replace然后split ,如下所示:

var items = string.replace(/,\s+/, ",").split(',')

#9楼

尝试使用纯Javascript

 //basic url=http://localhost:58227/ExternalApproval.html?Status=1var ar= [url,statu] = window.location.href.split("=");

#10楼

JavaScript:将字符串转换为数组JavaScript拆分

  var str = "This-javascript-tutorial-string-split-method-examples-tutsmake." var result = str.split('-'); console.log(result); document.getElementById("show").innerHTML = result; 
 <html> <head> <title>How do you split a string, breaking at a particular character in javascript?</title> </head> <body> <p id="show"></p> </body> </html> 

https://www.tutsmake.com/javascript-convert-string-to-array-javascript/


#11楼

使用JavaScript的String.prototype.split函数:

var input = 'john smith~123 Street~Apt 4~New York~NY~12345';var fields = input.split('~');var name = fields[0];
var street = fields[1];
// etc.

#12楼

您将要研究JavaScript的substr或split ,因为这并不是真正适合jQuery的任务。


#13楼

您不需要jQuery。

var s = 'john smith~123 Street~Apt 4~New York~NY~12345';
var fields = s.split(/~/);
var name = fields[0];
var street = fields[1];

#14楼

好吧,最简单的方法是:

var address = theEncodedString.split(/~/)
var name = address[0], street = address[1]

#15楼

就像是:

var divided = str.split("/~/");
var name=divided[0];
var street = divided[1];

可能是最简单的

我如何分割字符串,在特定字符处断开?相关推荐

  1. boost:regex分割字符串(带有'\'字符) - zzusimon的专栏 - 博客频道 - CSDN.NET

    boost:regex分割字符串(带有'\'字符) - zzusimon的专栏 - 博客频道 - CSDN.NET boost:regex分割字符串(带有'\'字符) 分类: C++ 2011-08- ...

  2. 计算一个字符串里面特定字符的个数

    题目 计算一个字符串中特定字符的个数 思路1 利用for循环,对比,计算,这是很正常的想法.如果不用for循环呢? String test="ababdadwdewddedwwedfewfe ...

  3. python中去除字符串中首尾空格的函数_Python中去除字符串首尾特定字符的函数:strip()...

    Python中strip()函数的作用是去除一个字符串前导和尾部的特定字符,并返回结果字符串. Python中strip()函数默认是删除字符串前导和尾部空格,通过设定参数,也可以去除字符串前导和尾部 ...

  4. 题目1049:字符串去特定字符

    题目描述: 输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果. 输入: 测试数据有多组,每组输入字符串s和字符c. 输出: 对于每组输入,输出去除c字符后的结果. 样例输入: heallo ...

  5. 【全网之最】JavaScript中字符串以特定字符分隔开之后,获取最后一个分割出来的字符串,多用于获取文件的后缀名(格式)

    "文.件.名.exe".split('.').slice(-1)[0]//推荐(性能更高,且不会修改原始数组) "文.件.名.exe".split('.').r ...

  6. 程序员必须要了解的知识点!java字符串按照特定字符分割

    一. 什么是架构和架构本质 在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解. 此君说的架构和彼君理解的架构未必是一回事.因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识 ...

  7. oracle 获取字段某个字段的下标,go获取字符串特定下标中间的字符,正则查找和替换字符串中特定字符...

    参考:https://blog.csdn.net/chenxun_2010/article/details/74356719 https://blog.csdn.net/sphinx1122/arti ...

  8. 去掉首尾字符java_Java去除字符串首尾特定字符

    工作中,由于mysql存储格式特定,字符串首尾均带有单引号,需要对首尾单引号做一个去除处理.我将此封装到一个公共的方法里,代码如下: 1 /** 2 * 去除首尾指定字符 3 * @param str ...

  9. java字符串去除首尾指定字_Java去除字符串首尾特定字符

    工作中,由于mysql存储格式特定,字符串首尾均带有单引号,需要对首尾单引号做一个去除处理.我将此封装到一个公共的方法里,代码如下: 1 /** 2 * 去除首尾指定字符 3 * @param str ...

最新文章

  1. 华为诺亚最新视觉Transformer综述
  2. JDK, JRE和JVM的区别与联系
  3. 配置错误:不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的...
  4. 8、REVOKE:删除用户权限
  5. java ftp 读取 txt文件_java通过ftp方式读取文件,并解析入库
  6. 32位PLSQL Developer无法登录Oracle 11g 64位
  7. 工作399-openType=“getUserInfo“ lang=“zh_CN“ bindgetuserinfo=“getUserInfo“
  8. php脚本开头注释_PHP文件注释标记及规范小结
  9. Java工作笔记-使用Maven创建Spring Boot并生成war包外部tocamt运行
  10. 和平精英现在服务器暂时未开放,和平精英为什么登陆不进去 和平精英服务器分批登陆是什么意思...
  11. python executemany_Python MySQLdb executemany
  12. 深度剖析redis缓存穿透,缓存击穿,缓存雪崩原因+解决方案
  13. Keil5(MDK与C51版本共存)下载安装
  14. 如何利用计算机教室上英语,如何有效利用多媒体进行英语教学
  15. 开心庄园html的代码,HTML第五章(示例代码)
  16. [渝粤教育] 天津师范大学 教育心理学(唐卫海) 参考 资料
  17. Markdown更改字体、颜色、大小,设置文字背景色,调整图片大小设置居中,插入表格等方法
  18. 小程序和APP测试的区别
  19. Flink DataStream API(基础版)
  20. 能力不够,你就态度好点

热门文章

  1. Android权限全记录(转)
  2. C++常识“屯”和“烫”
  3. Samba之打印机共享配置 (CUPS系统)
  4. 推流和拉流的概念以及RTMP和HLS协议
  5. 基础算法---二分查找
  6. 「模拟赛20180306」回忆树 memory LCA+KMP+AC自动机+树状数组
  7. poj2186【利用强连通分量】
  8. eclipse 连接 mysql
  9. iOS中常见的设计模式(MVC/单例/委托/观察者)
  10. java-银行业务调度系统《十一》