首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在空格之前和之后获取符号(JS)

在空格之前和之后获取符号(JS)是指在JavaScript中获取字符串中空格之前和之后的符号。可以通过以下步骤实现:

  1. 首先,使用JavaScript的字符串方法trim()去除字符串两端的空格。
  2. 然后,使用JavaScript的字符串方法charAt()获取字符串中指定位置的字符。
  3. 使用JavaScript的正则表达式来判断字符是否为符号。

以下是一个示例代码:

代码语言:txt
复制
function getSymbolBeforeAndAfterSpace(str) {
  // 去除字符串两端的空格
  str = str.trim();

  // 获取空格之前的符号
  var symbolBefore = '';
  var index = str.indexOf(' ');
  if (index > 0) {
    symbolBefore = str.charAt(index - 1);
  }

  // 获取空格之后的符号
  var symbolAfter = '';
  index = str.lastIndexOf(' ');
  if (index < str.length - 1) {
    symbolAfter = str.charAt(index + 1);
  }

  return {
    symbolBefore: symbolBefore,
    symbolAfter: symbolAfter
  };
}

// 示例用法
var str = '在 空格 之前和之后 获取符号 (JS)';
var symbols = getSymbolBeforeAndAfterSpace(str);
console.log('空格之前的符号:', symbols.symbolBefore);
console.log('空格之后的符号:', symbols.symbolAfter);

这段代码将输出:

代码语言:txt
复制
空格之前的符号: 在
空格之后的符号: 之

这个功能在处理字符串时非常有用,可以帮助我们获取空格之前和之后的符号,进一步进行字符串处理或分析。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

HashMapJDK7.0及之前JDK8.0及之后区别(一下全告诉你)

前言 我们在学习集合的时候,出去list就是map集合使用比较多,今天主要说一下常用的HashMap底层的进化 干货 jdk7.0之前 数组 + 链表 阈值:30 jdk8.0开始...数组 + 链表 + 二叉树 阈值:30 HashMap底层1.8之前是基于数组链表组成 形成一个哈希表 首先数组的优点: 查找元素效率高 由于数组这个数据结构的特点 他们是等大连续...我们是需要根据hahCode()算出 哈希码值 然后根据哈希码值%分组组数看余数 通过余数判断应该去哪一个小组[查找进入的小组] 所以哈希表的表头应该用数组存储这个余数 方便查找 但是进入该小组之后...如果发现这个小组里面有元素需要 详细作比较 如果比较完之后 发现该小组里面的元素 没有新来的元素一样 那么新来元素需要插入进去 既然组内经常涉及到插入删除元素 那么应该考虑用链表结构...所以8.0之前 先根据哈希码值计算去到哪个小组 表头用数组装 好查找 查找应该去到某个小组之后 开始往该小组里面插入、删除元素 所以组内又是拿着链表装 好添加、删除 > 但是8.0及之后 考虑到可能算法不好

39220

剑指Offer题解 - Day59

首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。...当我们寻找到的第一个非空字符为正或者负号时,则将该符号之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。...需要考虑以下情况: 当遇到首部的空格时,直接跳过; 当遇到符号位时,使用变量1、-1保存符号位+、-。 当遇到首个非数字字符时,直接返回。 当遇到数字字符时,进一步进行处理。...最后还要判断数字的大小是否[−2^31, 2^31 − 1]。由于环境只能存储 32 位大小的有符号整数,因此要在上面代码执行之前就需要进行判断。...有几点需要特别注意: 由于JS中没有原生的Number静态属性来表示32位的最大整数最小整数,因此这里提前计算好并存储到相应常量当中; 边界的计算不可以直接对2^31进行除以10,这样算出的结果是默认有小数点的

25110

现代配置指南——YAML 比 JSON 高级在哪?

其实在 yaml 出现之前 js+json 用的也不错,也没什么特别难以处理的问题;但是 yaml 出现以后,开始觉得它好乱呀什么东西,后来了解它后,越用越喜欢,一个字就是优雅。...比如我浏览器上测出了接口错误。然后把参数拷贝到 Postman 里调试,这时就我要手动给每个属性值加 "" 号,非常繁琐。 YAML 则是另辟蹊径,直接把字符串符号干掉了。...除了 "" 号,yaml 觉得 {} [] 这种符号也是多余的,不如一起干掉。...数组 数组对象的结构差不多,区别是 key 前用一个 - 符号标识这个是数组项。注意这里也有一个空格,同样也不能少。...run\n--name my-nginx\n-d nginx" } 获取配置 获取配置是指, YAML 文件中定义的某个配置,如何在代码(JS)里获取

2K20

TP入门第十二天

模板变量的函数调用格式为: {$varname|function1|function2=arg1,arg2,### } 说明: { $符号之间不能有空格,后面参数的空格就没有问题 ###表示模板变量本身的参数位置...支持多个函数,函数之间支持空格 支持函数屏蔽功能,配置文件中可以配置禁止使用的函数列表 支持变量解析缓存功能,重复变量字串不多次解析 使用例子: {$webTitle|md5|strtoupper|...> 注意函数的定义使用顺序的对应关系,通常来说函数的第一个参数就是前面的变量或者前一个函数调用的返回结果,如果你的变量并不是函数的第一个参数,需要使用定位符号,例如: {$create_time|date...’ file=”Js.Util.Array” /> Type属性默认是js, 所以下面的效果是相同的: 还可以支持多个文件批量导入,例如:...混乱:可以使用在大括号之后加入空格、使用literal、修改定界符 2、关联模型 关联关系: 一对一关联 :ONE_TO_ONE,包括HAS_ONE  BELONGS_TO 一对多关联 :ONE_TO_MANY

96360

iOS 深思篇 | 正则表达式

使用场景: 用来批量提取或替换有规律的字符串; 高级文本编辑器中使用; 各类办公软件(office 等)中使用; 检测用户的输入是否合法; 各种开发语言中使用;(C#,java,JS,PHP等)...有一个通识问题说明一下: "/"是 JS 中经常用来分隔一个正则的开始与结尾的字符,其他语言中不用做此区分; 比如: /* JS */ /abc/ //精确匹配abc(有/符号)...普通字符包括所有大写小写字母、所有数字、所有标点符号一些其他符号(PS:就是平时看得懂的符号);其他字符包括了常说的元字符、运算符、限定符、特殊字符等等; 下面是一个匹配以数字开头,并以 abc 结尾的字符串...匹配除了方括号里的任意字符 * 匹配>=0个重复的*号之前的字符 + 匹配>=1个重复的+号前的字符 ? 标记?...先行断言用于判断所匹配的格式是否另一个确定的格式之前, 匹配结果不包含该确定格式(仅作为约束). 例如, 我们想要获得所有跟在 符号后的数字, 我们可以使用正后发断言 (?

2.9K20

python爬虫笔记-day3

,不仅仅包含空格,还有\t|\r\n xpath学习重点 使用xpath helper或者是chrome中的copy xpath都是从element中提取的数据,但是爬虫获取的是url对应的响应,往往...elements不一样 获取文本 a/text() 获取a下的文本 a//text() 获取a下的所有标签的文本 //a[text()='下一页'] 选择文本为下一页三个字的a标签 @符号 a/@href...但是可能会改错了 使用etree.tostring观察修改之后的html的样子,根据修改之后的html字符串写xpath lxml 能够接受bytesstr的字符串 提取页面数据的思路 先分组,渠道一个包含分组标签的列表...的cookie 下一次请求的时候,使用之前的列表中的cookie来请求 如果登录 准备多个账号 使用程序获取每个账号的cookie 之后请求登录之后才能访问的网站随机的选择cookie 提取数据 确定数据的位置...,css,img之外的按钮 使用chrome的search all file,搜索数字英文 数据的提取 xpath,从html中提取整块的数据,先分组,之后每一组再提取 re,提取max_time,price

66610

JS魔法堂:再识Bitwise Operation & Bitwise Shift

0 : p|0) v *= p return (v + 0.5 + (v>>31)|0) / p } 开波前我们先要了解一个现实,那就是虽然JS仅有Number这个数值类型,并且Number底层采用...IEEE 754 64bit Double precision floating-point编码,但JS中实际上还是存在Signed Int32、Unsigned Int32Unsigned Int16...JS的底层实现:ToInt32(GetValue(oprand1)) | ToInt32(GetValue(oprand1)) Bitwise AND   与操作,符号为&, 1&1=1、1&0=0、...前后可以有多个空格符号或LineTerminator;               示例: Number("\r\n 123\r\r\n ") 结果为 123             b....中的零宽非断行空格,U+FEFF)                       作用:作为UTF格式编码的文件的首个字符,用于程序解析该文件时猜测采用的是采用哪种UTF编码方式。

1.5K90

可能是最好的正则表达式教程的笔记

字符分类(char class) 前面记录了最基本的方法,接下来说一下分类符[] 这个符号用来表示逻辑关系或,比如[abc]表示a或者b或c.[-.]表示符号-或者.号(注意这里,[]中的.号代表的就是这个符号...[]中的^ ^之前介绍中,是表示一行开头,但是[]中,有着不同的含义。...\d{4} replace: $1-xxx-xxxx ps: 这里可以直接用JS的replace函数进行操作,但是正则不是JS专属的,所以这里先介绍通用方法,之后JS部分进行总结 1.3.2....*之后,表示一次匹配遇到重点就可以停止。否则将会一直向后匹配。 1.4. JavaScript中的应用 js中,主要的正则表达式都是涉及到string的应用。...总结 js中,正则表达式字面量/reg/字符串字面量"str"用于创建正则字符串。

1.5K10

JS魔法堂:再识ASCII实体、符号实体字符实体

本文打算对三类HTML实体及JS相关操作作进一步的整理小结,若有纰漏请大家指正,谢谢。...三、3种实体类型                                        实体分为ASCII实体、字符实体符号实体。...四、通过outerHTML,innerHTML,innerText,textContentvalue操作实体    首先我们需要将3种实体类型分成两类,ASCII实体为一类,字符实体符号实体为一类。...非表单元素的outerHTMLinnerHTML只能获取实体名或实体编号;      2. IE/Chrome下非表单元素的innerText可获取对应的字符;      3....对于字符实体符号实体      只能获取对应的字符,无法直接获取实体名实体编号。 五、总结                                     若有纰漏请大家指正,谢谢。

2.2K80

React-Native开发规范文档

React-Native开发规范 标签(空格分隔): React-Native JavaScript 一、编程规约 (一) 命名规约 【强制】 代码中命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束...【强制】 左括号后一个字符之间不出现空格;同样,右括号前一个字符之间也不出现空格; 【强制】if/for/while/switch/do 等保留字与左右括号之间都必须加空格; 【强制】任何运算符左右必须加一个空格...: 第二行相对第一行缩进4个空格,从第三行开始,不再继续缩进,参考示例; 运算符与下文一起换行; 方法调用的点符号与下文一起换行; 多个参数超长,逗号后进行换行; const path = Path.../XX2@.png')}> 时,程序运行过程中不会根据不同屏幕尺寸获取不同资源。 注意:此方式适用于React-Native0.46.0版本之前。 9....【推荐】统一入口文件为App.js; 说明:index.android.jsindex.ios.js文件中,统一入口文件为App.js,且保持所在目录index.android.jsindex.ios.js

1.9K10

grep正则获取特定内容之零宽断言

零宽断言 (匹配宽度为零,满足一定的条件/断言) 零宽断言用于查找某些内容(但并不包括这些内容)之前之后的东西,也就是说它们像 \b ^ $ 这样的锚定作用,用于指定一个位置,这个位置应该满足一定的条件...预查不消耗字符,也就是说,一个匹配发生后,最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。 (?!...预查不消耗字符,也就是说,一个匹配发生后,最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始 (?<=pattern) 反向肯定预查,与正向肯定预查类拟,只是方向相反。...等价于\x0c\cL。 \n 匹配一个换行符。等价于\x0a\cJ。 \r 匹配一个回车符。等价于\x0d\cM。 \s 匹配任何空白字符,包括空格、制表符、换页符等等。...如果*nm之前至少有nm个获得子表达式,则nm为向后引用。如果\nm之前至少有n个获取,则n为一个后跟文字m的向后引用。

1.5K20

公司国际化笔记

统一加载 放在页面加载完成之后的话,这个部分的代码就需要放在js的最后面了,然后callback方法里面,通过id号或者其他的标志进行国际化操作了....这里还有个问题是,如果你的浏览器加载比较慢的话,浏览英文时候,可能会看到标题先是英文,之后才变成中文,这是应为标题加载是js运行之前的缘故了,这个暂时没有找到好的解决办法, 一般浏览器的加载速度基本都发现不了这个现象...针对返回数据的处理 有些位置通过定时查询数据库是否有异常数据之后直接alert获取到的数据,你就没办法了,如果是java代码还好,还可以采用java代码的国际化,这里后面有机会再提了.方法这个类似....\=[\s\w+]+\\这个就行了,这个是将=之后\之前的英文选中.全部处理完差不多就是中文的了,可能要注意一些带有符号的中英文了....再复制一份之后通过这个\\[\w\S+]+$\r,选中所有的中文,替换为空格就解决了,这个就是英文的配置文档了.

1.2K40

治电EggJS开发规范

1.编码规范 1.1 编码格式与语法 项目默认编码格式统一为UTF-8格式,语法采用ES6+语法 1.2 代码注释 注释符号后要有一个空格 1.2.1 函数/方法注释 函数/方法注释放置于函数/方法的上方...1.3.1 使用空格作为缩进 使用2个空格作为一个缩进单位。 1.3.2 代码块符号 代码块的开始符号要放在行尾,不可单独一行;代码块结束符号要单独一行。...id=1&age=1的uri,Controller中使用ctx.query获取 例如: // router.js router.get('/user?...// 只允许uuids isDate: true, // 只允许日期字符串 isAfter: "2011-11-05", // 只允许特定日期之后的日期字符串...isBefore: "2011-11-05", // 只允许特定日期之前的日期字符串 max: 23, // 只允许值 <= 23

4.5K10

重学JS基础-词法语法

Punctuator 符号,我们使用的运算符大括号等符号。 NumericLiteral 数字直接量,就是我们写的数字。...是 U+00A0,非断行空格文字排版中,可以避免因为空格在此处发生断行,其它方面普通空格完全一样。多数的 JavaScript 编辑环境都会把它当做普通空格(。...(旧称) 是 U+FEFF,这是 ES5 新加入的空白符,是 Unicode 中的零宽非断行空格,即字符的length长度为0。 换行符 是 U+000A,就是最正常换行符,字符串中的\n。...3.JS语句的分类 普通语句:声明语句,表达式语句,空语句,debugger语句等 控制型语句:if,try,while等 带标签的语句:JS语句前加上标签(比如: "inner:" ),用于跳转 语句块...Completion Record 表示一个语句执行完之后的结果,它有三个字段: [[type]] 表示完成的类型,有 break continue return throw normal 几种类型

1.2K10

高性能PHP7【笔记】

,包括数值(字符串型、整型、浮点型等)、数组、对象 当符号两边相等时返回0 当符号右边大于符号左边时返回-1 当符号左边大于符号右边时返回1 可以用于书写清晰易读的用于usort、uasort、uksort...文件进行合并 2.缩小:删除空行、注释额外空格 3.Minify:是一组完全使用PHP编写的库,支持CSS、JavaScript文件的合并与缩小,代码是面向对象命名空间的 4.Grunt:是一个JavaScript...,参数紧跟着的逗号之间不应有空格 3.命名空间的声明之后应该空一行 4.Visibility类的所有属性都应该明确指出其可见性并且属性名应该是驼峰式的 5.要是有abstract关键字的话,则一定是...class关键字之前 的,final关键字则应该在方法可见性之前,static关键字是方法可见性之后的 6.所有PHP关键字都应该小写,包括truefalse,常量应该都大写 7.对于所有控制结构语句...,控制结构关键词后都应该有空格,表达 式外面的括号之间不应该有空格, B.测试驱动开发 1.PHPUnit C.部署持续集成(CI) 1.PHPCI 2.Jenkins 3.Travis CI https

80720

译文排版规范

前言: 这是之前还在论坛当版主的时候,给自己定下的汉化规矩: 1.按照固定格式来排版; 2.能力有限不是机翻偷工减料的借口; 3.尽量得到原作者的转载授权 虽然不再参与汉化工作了,但是有一些好的习惯值得继续保持...空格 「有研究显示,打字的时候不喜欢中文英文之间加空格的人,感情路都走得很辛苦,有七成的比例会在 34 岁的时候跟自己不爱的人结婚,而其余三成的人最后只能把遗产留给自己的猫。...——vinta/paranoid-auto-spacing 中英文之间需要增加空格 正确: LeanCloud 上,数据存储是围绕 AVObject 进行的。...全角标点与其他字符之间不加空格 正确: 刚刚买了一部 iPhone,好开心! 错误: 刚刚买了一部 iPhone ,好开心! 标点符号 不重复使用标点符号 正确: 德国队竟然战胜了巴西队!...破折号前后需要增加一个空格 正确: 你好,我是破折号 —— 一个不苟言笑的符号。 错误: 你好,我是破折号——一个不苟言笑的符号。 全角半角 不明白什么是全角(全形)与半角(半形)符号

99610

JQuery中美元符号$

概述 前端技术得更新换代实在太快,JQuery可能已经不再适合着重学习,不过JQuery得思想已经融入了很多前端框架技术之中,比如这个美元符号 ? ,总是可以一些地方看到,作为最开始使用 ?...加载脚本 HTML页面中引入原生的JS脚本一般都会这样开头: window.onload=function(){ Func1(); Func2(); Func3();........ } 使用window.onload()的原因是因为一般都会希望直到网页加载完毕后,再立刻执行JS脚本的操作,否则会造成执行JS脚本的时候, HTML文档没有渲染完成,DOM树是不完整,获取...CSS有三种常用的选择器:元素选择器、ID选择器类选择器;JQuery也有对应的选择器。 2.2.1. 元素选择器 下面例子展示通过 ?...引入方法 JQuery中,$还有个作用是引入各种JQuery已经封装好的方法,例如: ? .trim() 去除字符串两端的空格 ? .each() 遍历一个数组或对象。 ?

80230

全程无尿点,死磕前端~

今天咱们唠唠前端那点事儿,前端死磕到底。 当然并不是可爱的前端们发生争执,而是和那些标签、js、框架死磕到底。...那是因为被浏览器吃了,想要显示多个空格,就需要空格的实体符号了。那便是  。 另外,为了防止歧义的产生,还有俩实体符合值得一提,那便是大于号小于号。毕竟它们长得太像标签的尖括号了。...所以会发生一件有意思的事情,那就是你定义一个函数之前,调用这个函数,同样执行正确。为什么?因为编译阶段已经将函数定义过了。(是不是很不可思议) 2.变量如果先调用再定义,为什么不回出现相同的现象?...想要取值,使用 oDiv.innerHTML 即可做到 对了,写 js 时,有一个问题需要注意: 如果 script 标签内容(要获取某一个元素的值)元素之前,那么获取不到,因为未被声明(代码从上往下执行...封闭函数可以创造一个独立的空间,封闭函数内定义的变量函数不会影响外部同名的函数变量,可以避免命名冲突,页面上引入多个js文件时,用这种方式添加js文件比较安全.

59910

重学js之JavaScript基本概念(上)- 数据类型

关键字保留字 js中有一些特定的关键字,这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等,关键字是语言特地保留的,所以不能用作标识符。...每个变量仅仅是用来保存值的占位符而已,定义变量需要用到var,之后的ES6中增加了letconst关键字来定义变量。...数据类型 js中有5种基本数据类型:Undefined、Null、Boolean、NumberString,复杂类型 Object。Object是一组由无序的名值对组成的。...NaNObject任何对象nullUndefined不适用undefined 12. number类型 js中广泛使用的数据类型,有整数浮点数值。...任何字符串的长度都可以通过 length 属性来获取。 let b = '1kljk' b.length // 5 13.2 字符串的特点 ES 中字符串是不可变的。

59710
领券