html 空格 正则表达式,正则表达式清除空格和html标签中的 空格

假设页面中有一个标签:

  •  品  牌     :  日 产 / 尼  桑/N is s an//更改后(添加空格)

从以上标签(更改后)中看出span标签与内容两端隔有‘    ’空格(手写空格),还有两个 空格,包括li的text内容中间也有空格。你我们应该怎样去除首位空格、内容中间空格、&nbsp空格呢?开发需求如下:

1、需求保留文字内的空格,但要清除首位空格:

$('.titlename').innerText.replace(/^\s+|\s+$/g, '');

//参数二中的引号最好使用‘单引号’。

清除首尾空格后结果:品  牌 : 日 产 / 尼  桑/N is s an

2、需求清除前后空格加内容中的空格

$('.titlename').innerText.replace(/[ ]/g, '');

清除内容空格后结果:品  牌 : 日产/尼桑/Nissan

在上面清除内容空格后我们看到"品牌"内的两个 没有清除,那么我们应该如何将 表示的空格移除呢?请看方法三。

3、按照上面方法二中的需求清除 表示的空格

var liobj=$('.titlename');   //1

var

litext="";//2

var

lilen =liobj.innerHTML;//3

liobj.innerHTML=liobj.innerHTML.replace(/[

]|[ ]/g, '');//4

litext=liobj.innerText;//5

liobj.innerHTML=lilen;//6

示例三中我们来解释一下为什么会使用上面的这种方法来去除 呢!

一、浏览器中innerHTML可以理解为没有编译的源码

二、浏览器中innerText可以理解为已经记过编译成了浏览器能够识别的代码

从上面两个逻辑中我们不难看出如果我们使用innerText直接去取值并清除空格的话是没有办法清除以 空格的,原因在于 在浏览器编译后我们是找不到这个空格的,所以我们就需要考虑使用innerHTML获取没有被浏览器编码的源代码,在源代码中使用“正则表达式”移除空格,此时再去获取innerText中就没有 表示的空格了,也就是说这时候页面的样式也是更随着变化了,那么我们最后就需要将没有改变之前的innerHTML赋值给当前的页面作为还原。

代码解答:

标记1、声明变量保存li的初始obj

标记2、声明变量保存li中的innerText值

标记3、声明变量获取初始化li中的innerHTML值(innerHTML值是为被浏览器编译的源代码)

标记4、获取初始化li中的innerHTML值并且利用正则表达式清除 最后赋值给浏览器,此时浏览器li中的文字已经发生了变化,没有了 

标记5、从新获取页面li的内容innerText,这个时候获取的值中就没有表示 的空格符了。并保持在标注2的变量中。

标记6、我们在获取玩li中的值后需要将页面还原成原状态,那怎么还原了,在标注3中我们已经保持了初始化的li的值,此时我们只需要将标注3保持的值赋值给浏览器就可以了。

问题的出现总会有解决的方案,这个问题也困扰了我半天。问题得以解决了要感谢的人还是很多的,感谢那些北大青鸟的学长学姐们,他们有问必答,最终解决这个问题的是湖北武汉北大青鸟鲁广校区的Y2学术主管-赵荣老师。不得不说老师就是老师不到10分钟的时间就解决了我变天的问题。向所有湖北武汉北大青鸟鲁广校区 的老师致敬,是他们将我带到了编程之路。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以用正则表达式去除单词空格,具体方法如下: - 使用 `re.sub()` 函数,第一个参数为要匹配的正则表达式,第二个参数为替换后的字符串。 例如: ``` import re s = "hello world" s = re.sub(r'\s+', '', s) print(s) ``` 输出: ``` helloworld ``` 这个例子, `\s+` 是一个正则表达式,匹配多个空格。 其空格被空字符串替换, 从而去掉了空格. ### 回答2: 正则表达式是一种强大的文本处理工具,可以用来匹配、查找和替换字符串的文本。要去除单词空格,可以使用正则表达式来实现。 首先,我们可以使用正则表达式模式来匹配单词,可以使用`[a-zA-Z]+`表示一个或多个字母的连续序列,这样就可以匹配单词。 接下来,我们可以使用正则表达式的替换函数来去除匹配到的空格。在替换函数,我们可以使用空字符串或者其他的非空格字符来替换匹配到的空格。 例如,假设我们有一个包含空格的字符串`Hello, World!`,我们想去除空格。我们可以使用正则表达式`[a-zA-Z]+`来匹配单词,然后使用空字符串来替换空格。 下面是一个使用正则表达式去除单词空格的示例代码: ```python import re text = "Hello, World!" pattern = r"[a-zA-Z]+" result = re.sub(pattern, lambda match: match.group().replace(" ", ""), text) print(result) ``` 以上代码的输出结果是`Hello,World!`,其空格已经被成功去除。 总结起来,使用正则表达式可以方便地去除单词空格。我们可以使用正则表达式的匹配和替换函数来实现这个功能。正则表达式可以灵活地匹配各种模式,帮助我们高效地处理文本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值