首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串的打印行数

字符串的打印行数
EN

Stack Overflow用户
提问于 2016-03-29 20:39:16
回答 1查看 42关注 0票数 0

这里有一个简单的字符串,有8行。

代码语言:javascript
复制
Lorem ipsum dolor sit amet.
Ut doloremque omnis quibusdam nam.
Ex voluptas sapiente est. Possimus!
Esse accusantium maxime perferendis, incidunt.
Non, et aliquid reiciendis pariatur?
Delectus facere odio quo tenetur?
Accusamus magni, nulla velit. Exercitationem!
Odit, quia. Qui, sequi, eius.

我使用for循环来计算行数并将其安慰出来。

代码语言:javascript
复制
$("#list-ol").on("click", function() {
  var selected_text = mdEditor.getSelection()

  for(i = 0; i < selected_text.split("\n").length; i++) {
    count = i + 1
    console.log(count)
  }
  mdEditor.focus()
})

简而言之,当我单击一个按钮时,我想替换一个选择并将它作为一个列表插入。

目标

代码语言:javascript
复制
A list of stuff

  1. Lorem ipsum dolor sit amet.
  2. Ut doloremque omnis quibusdam nam.
  3. Ex voluptas sapiente est. Possimus!
  4. Esse accusantium maxime perferendis, incidunt.
  5. Non, et aliquid reiciendis pariatur?
  6. Delectus facere odio quo tenetur?
  7. Accusamus magni, nulla velit. Exercitationem!
  8. Odit, quia. Qui, sequi, eius.

如何将字符串转换为有序列表?

代码语言:javascript
复制
// Initialize CodeMirror editor
var mdEditor = CodeMirror.fromTextArea(document.getElementById("mdEditor"), {
  mode: "text/x-markdown",
  theme: "default",
  tabMode: "indent",
  styleActiveLine: true,
  lineNumbers: true,
  lineWrapping: true,
  autoCloseTags: true,
  foldGutter: true,
  dragDrop: true,
  gutters: ["CodeMirror-linenumbers"],
  extraKeys: {
    "Enter": "newlineAndIndentContinueMarkdownList"
  }
})

CodeMirror.commands.olSelection = function(cm) {
  var counter = 1
  var from = cm.getCursor("from").line, to = cm.getCursor("to").line
  for (var line = to; line >= from; line--)
    cm.replaceRange("  "+ counter++ +" ", {line: line, ch: 0})
    }
$("#list-ol").on("click", function() {
  mdEditor.execCommand("olSelection")
})
代码语言:javascript
复制
@import url("http://codemirror.net/lib/codemirror.css");

html, body {
  padding: 0;
  margin: 0;
}

.CodeMirror {
  float: left;
  width: 100%;
}
代码语言:javascript
复制
<script src="http://codemirror.net/lib/codemirror.js"></script>
<script src="http://codemirror.net/addon/edit/continuelist.js"></script>
<script src="http://codemirror.net/addon/mode/overlay.js"></script>
<script src="http://codemirror.net/mode/xml/xml.js"></script>
<script src="http://codemirror.net/mode/markdown/markdown.js"></script>
<script src="http://codemirror.net/mode/gfm/gfm.js"></script>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<button id="list-ol">List my selection</button>

<textarea id="mdEditor">My custom list
Lorem ipsum dolor sit amet.
Ut doloremque omnis quibusdam nam.
Ex voluptas sapiente est. Possimus!
Esse accusantium maxime perferendis, incidunt.
Non, et aliquid reiciendis pariatur?
Delectus facere odio quo tenetur?
Accusamus magni, nulla velit. Exercitationem!
Odit, quia. Qui, sequi, eius.</textarea>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-29 21:15:09

编织- http://kodeweave.sourceforge.net/editor/#1e2d096de915627ee15562260217e767

花了我一段时间,但我想出来了!

代码语言:javascript
复制
var str = "Lorem ipsum dolor sit amet.<br>Ut doloremque omnis quibusdam nam.<br>Ex voluptas sapiente est. Possimus!<br>Esse accusantium maxime perferendis, incidunt.<br>Non, et aliquid reiciendis pariatur?<br>Delectus facere odio quo tenetur?<br>Accusamus magni, nulla velit. Exercitationem!<br>Odit, quia. Qui, sequi, eius."
var i, len, text;
for (i = 0, len = str.split("<br>").length, text = ""; i < len; i++) {
    text += i + 1 + ". " + str.split("<br>")[i] + "<br>"
}

document.body.innerHTML = text

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36294651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档