Javascript string.length 不等于 Python len()

标签 javascript python

想象一下在 HTML textarea 中输入以下文本:

123456


7

如果通过 javascript 计算此文本的长度,即 string.length,结果为 10

现在,如果该输入的长度是在 python 中测量的,即通过 len(string),则它是 13

人眼看起来不是13,但如果在 python 中运行 print repr(string),我们会得到 123456\r\n\r\n\r\n7。那是 13 个字符,而不是 10。作为引用,本次测试是在 Ubuntu 操作系统中进行的。

有没有办法让 python 通过模仿 javascript 的 string.length's 结果的机制来报告字符串长度? IE。简单来说,如何在 Python 中获取 10

我知道我可以手动迭代并将 \r\n 折叠成单个字符,但我想知道是否有更强大的 - 甚至是内置的 - 方法来做到这一点?无论如何,一个说明性的例子会很棒!

最佳答案

您可以使用比迭代更优雅的正则表达式。将字符 \n\r 替换为 '' 即可。

使用python的re模块

import re
x = '123456\r\n\r\n\r\n7'
y = re.sub(r'\r\n','\n',x)
print(len(y)) #Answer will be 10

如需进一步引用,请查看 python docs

关于Javascript string.length 不等于 Python len(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64750991/

相关文章:

javascript - 如何匹配嵌套函数字符串?

javascript - 我希望下拉菜单选择在选择不同选项时显示不同的图像

Python 方法不会出现在用户定义的函数中

python - tkinter 单选按钮不显示类中的值

javascript - 使用 javascript 清除表单后出现 CSRF 403 错误

javascript - express js如何将数组转换为对象

javascript - 如何制作 jQuery 对象的副本

javascript - 获取 ng-repeat 重复输入元素的值

python - Objective-C 数组中的连续数字,如 Python 中的 range()

python - 如何使用 Bokeh slider 更新绘图范围?