我想知道在反向模式下对字符串使用子字符串函数的最佳方法是什么?
例如,我有一个字符串,如:
string mainStr= @"CDM\D1_1";
Run Code Online (Sandbox Code Playgroud)
现在我想检查最后两个字符是否等于"_1".注意:我不想在下划线上使用split.只是寻找最快的方法来执行一个反向子字符串,它从字符串中的最后一个字符开始并结束到第一个字符.到目前为止我试过这个,但不确定它是否有效!
string revStr = new string(mainStr.ToCharArray().Reverse().ToArray());
if (revStr.Substring(0, 2) == "_1")
{
//Do blah blah
}
Run Code Online (Sandbox Code Playgroud)
UPDATE
抱歉打扰了家伙,但周一你知道了!所以问题是我应该在反转阵列后检查"1_".然而,如下所示,最好使用string.EndsWith.
我有电子邮件:ue.aporue.lraporue@otlatnom-dratta.nhoj
我希望它像:
john.attard-montalto@europarl.europa.eu
当我使用revWords('ue.aporue.lraporue@otlatnom-dratta.nhoj');我得到:
eu.europa.europarl@montalto-attard.john
function revWords($string) {
//We need to find word boundries
$wordChars = 'abcdefghijklmnopqrstuvwxyz';
$buffer = '';
$return = '';
$len = strlen($string);
$i = 0;
while ($i < $len) {
$chr = $string[$i];
if (($chr & 0xC0) == 0xC0) {
//UTF8 Characer!
if (($chr & 0xF0) == 0xF0) {
//4 Byte Sequence
$chr .= substr($string, $i + 1, 3);
$i += 3;
} elseif (($chr & 0xE0) == 0xE0) {
//3 Byte Sequence
$chr …Run Code Online (Sandbox Code Playgroud) 我在编程比赛中遇到过这个问题,但找不到答案,任何人都可以帮我这个???
Input<<string
Output<<reverse(string)
Run Code Online (Sandbox Code Playgroud)
约束:不允许循环,不必使用内置函数!
我正试图进入asp.NET的世界,我正在尝试一些东西.
我离开了吗?
<br />
<asp:TextBox ID="txtoriginal" runat="server"></asp:TextBox>
<asp:Button ID="btnCount" runat="server" Text="reverse"
onclick="btnCount_Click" />
<asp:Label ID="lblAnswer" runat="server"></asp:Label>
</form>
Run Code Online (Sandbox Code Playgroud)
所以这就是我所遇到的麻烦
protected void btnCount_Click(object sender, EventArgs e)
{
lblAnswer.Text = txtoriginal.Text;
stroriginalText = txtoriginal.Text;
strReverse = stroriginalText.ToCharArray();
Array.Reverse(strReverse);
lblAnswer.Text = strReverse;
}
}
}
Run Code Online (Sandbox Code Playgroud) 请原谅我在Java方面非常有限的经验.我正在学校学习基础Java课程,我们正在开展第一个项目.我已经对我需要完成的工作做了一些研究,但我找不到适用于我的问题的东西.我需要制作一个完全反转字符串的程序.我们不能使用StringString以外的任何类; 没有StringBuffer或StringBuilder.我们还需要通过输入和消息框而不是控制台来完成.我的代码出了什么问题?
/*
ReverseString
*/
import java.util.*;
import javax.swing.JOptionPane;
public class ReverseString
{
public static void main (String[] args);
{
String str;
for(int i = str.length() - 1; i >= 0; i--)
System.out.print(str.charAt(i));
System.out.println();
}
}
Run Code Online (Sandbox Code Playgroud)
我收到的输出在第11行表示错误. Error: missing method body, or declare abstract
谢谢你的帮助,我再次道歉,如果它显而易见的话.我们刚刚开始学习两周前.
[UPDATE]
我已经采取了一些建议,现在我又收到了另一个错误.
/*
ReverseString
*/
import java.util.*;
import javax.swing.JOptionPane;
public class ReverseString
{
public static void main (String[] args)
{
String str = "";
int frame = 0;
JOptionPane.showInputDialog(frame, …Run Code Online (Sandbox Code Playgroud) 我有两个字符串.第一个是正常字符串,第二个我想成为第一个反转字符串,但在控制台中我没有看到像逗号一样列出的第一个字符串.我该如何解决这个问题?
window.onload = function(){
inputBox = document.getElementById("myText");
btn = document.getElementById('sub');
btn.addEventListener("click",function(event){
event.preventDefault();
findPalindromes(inputBox.value);
});
str = inputBox.value;
function findPalindromes(str) {
var words = str.split(" ");
for (var i = 0; i < words.length - 1; i++) {
words[i] += " ";
}
console.log(words);
var newString = "";
for (var i = words.length - 1; i >= 0; i--) {
newString += words[i];
}
console.log(newString);
}
}
Run Code Online (Sandbox Code Playgroud) #include <stdio.h>
#include <string.h>
void print_reverse(char *s)
{
size_t len = strlen(s);
char *t = s + len - 1;
while (t >= s)
{
printf("%c", *t);
t = t - 1;
}
puts("");
}
Run Code Online (Sandbox Code Playgroud)
以上是一个在屏幕上向后显示字符串的功能.但我不明白第7行(char*t = s + len-1;).请问有人解释这是英语口语吗?
如何扭转朱莉娅的字符串?
我有
julia> str = "Hello World!"
Run Code Online (Sandbox Code Playgroud)
我希望能够扭转局面.就像是
julia> str_reverse = str.reverse
Run Code Online (Sandbox Code Playgroud)
str_reverse应该是:"!dlroW olleH"
如果没有for循环,有没有办法做到这一点?
考虑到上半年,有没有一种简单的方法可以在C++中创建回文?例如给定"abcdef",我想返回"abcdeffedcba",同时保持输入的前半部分不变?
我知道你可以这样做,但有更好的方法在一条线上做到吗?在Java中,reverse()返回一个值,因此您可以在一行中完成.
string createPalindrome(string & half)
{
string temp = half;
reverse(temp.begin(), temp.end());
return half + temp;
}
Run Code Online (Sandbox Code Playgroud) 我试图通过使用for循环来反转15个数字的数组,但由于某种原因,数组顺序保持不变.
我的代码看起来像这样:
int main()
{
int arr[15] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
int i, j, temp;
for (i = 0; i < 15; i++)
{
temp = arr[15 - i - 1];
arr[15 - i - 1] = arr[i];
arr[i] = temp;
}
j = 0;
do {
std::cout << arr[j] << " ";
j++;
} while (j < 15);
}
Run Code Online (Sandbox Code Playgroud)
知道我做错了什么吗?