我在工作的前六个月编程,我仍然对标准和最佳实践有感觉。
在进行字符串或字符比较时,是使用 ToUpper 比较大写字符还是使用 ToLower 比较小写字符更常见?我可能更频繁地看到大写字母,但我一直在寻找更明确的答案,也许还有冗长的优化解释(较低的 ASCII 代码,无论如何)。
旁白:在我当前的任务中,我使用 string#replace 并且我的新字符串将是小写的以提高可读性,但这是否一定意味着我应该在我的源字符串和我正在寻找的子字符串上使用 ToLower?
我正在使用一个 ldap 对象,我正在从 Activedirectory 检索一些条目。结果是以大写形式返回领域的方式,例如CN=bob,DC=example,DC=com代替cn=bob,dc=example,dc=com。有没有办法有选择地将CN和DC子字符串转换为小写?到目前为止,我strings.split多次使用(首先使用“,”,然后再次使用“=”进行迭代)以达到可以将 CN、DC 等放入列表的程度,然后对它们使用 strings.ToLower。有没有更好更聪明的方法来完成这项工作,可能使用正则表达式,以便我可以避免两次迭代?
为什么 std::transform 不能以这种方式工作:
std::string tmp = "WELCOME";
std::string out = "";
std::transform(tmp.begin(), tmp.end(), out.begin(), ::tolower);
Run Code Online (Sandbox Code Playgroud)
出来是空的!
但这有效:
std::transform(tmp.begin(), tmp.end(), tmp.begin(), ::tolower);
Run Code Online (Sandbox Code Playgroud)
我不希望转变就地发生。
originalFiles = Directory.GetFiles(fbFolderBrowser.SelectedPath).Where(file => !file.EndsWith(".db")).ToArray();
foreach (string file in originalFiles)
{
File.Move(file, file.Replace(".JPG", ".jpg"));
File.Move(file, file.Replace(".TIFF", ".tiff"));
File.Move(file, file.Replace(".JPEG", ".jpeg"));
File.Move(file, file.Replace(".BMP", ".bmp"));
File.Move(file, file.Replace(".GIF", ".gif"));
}
Run Code Online (Sandbox Code Playgroud)
我认为运行上面的操作会将文件扩展名更改为小写.
我在目录中有文件:
AAA_1.jpg
AAA_2.JPG
BBB_1.TIFF
BBB_2.GIF
我希望它是:
AAA_1.jpg
AAA_2.jpg
BBB_1.tiff
BBB_2.gif
我该怎么做呢?
试图让它改变解析的字符串段的第一个字母的大小写.因此,如果用户在txtName中输入"JOHN WAYNE DOE",那么它将显示"John Wayne Doe",我按照它在书中显示的方式输入它,但是消息框显示已解析的字符串,但是它已输入,因此在上面的示例中返回是"JOHN WAYNE DOE"我认为它是一个逻辑错误,因为我知道这样做很多只是不知道我在哪里犯了错误.
Dim name As String = txtName.Text
name = name.Trim
Dim names() As String = name.Split(CChar(" "))
Dim firstName As String = names(0)
Dim middleName As String = names(1)
Dim lastName As String = names(2)
Dim firstLetters1 As String = firstName.Substring(0, 1).ToUpper
Dim otherletters1 As String = firstName.Substring(1).ToLower
Dim firstLetters2 As String = middleName.Substring(0, 1).ToUpper
Dim otherletters2 As String = middleName.Substring(1).ToLower
Dim firstletters3 As String = lastName.Substring(0, 1).ToUpper
Dim otherletters3 As String = lastName.Substring(1).ToLower …Run Code Online (Sandbox Code Playgroud) 我写了这个程序,试图更好地理解C. 它有效,但由于某种原因,在正确的输出之前打印(null).我的代码:
/* This program will take a string input input from the keyboard, convert the
string into all lowercase characters, then print the result.*/
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
int i = 0;
/* A nice long string */
char str[1024];
char c;
printf("Please enter a string you wish to convert to all lowercase: ");
/* notice stdin being passed in for keyboard input*/
fgets(str, 1024, stdin); //beware: fgets will add a '\n' character if …Run Code Online (Sandbox Code Playgroud) 当我像这样使用 odata 时: $filter=startswith(tolower(firstName),tolower('A')) 它不起作用。
我想知道 tolower 或 toupper 是否可以与startswith一起使用?
我想要一个'降低'功能(从单词)到两种语言正常工作,例如,英语和俄语.我该怎么办?我应该使用std :: wstring吗,或者我可以使用std :: string吗?此外,我希望它是跨平台的,不要重新发明轮子.
我有我的代码将案例从上部切换到下部,反之亦然.我也可以将它从上到下切换,从下到上.我的问题是; 有没有办法可以让它包括逗号或句号等字符.例如,如果我输入字符串"Hello,there".我会得到:"你好,在那里.","你好,那里"和"你好".我怎么能把它拿到我的第三个输出会说"你好,那里"的地方.
import java.util.*;
public class UpperLower2
{
public static void main(String[] args)
{
System.out.println("Enter in a sentence:");
Scanner input = new Scanner(System.in);
String sentence = input.nextLine();
System.out.println("All uppercase:" + sentence.toUpperCase());
System.out.println("All lowercase:" + sentence.toLowerCase());
System.out.println("Converted String:" + toggleString(sentence));
input.close();
}
public static String toggleString(String sentence)
{
String toggled = "";
for(int i=0; i<sentence.length(); i++)
{
char letter = sentence.charAt(i);
if(Character.isUpperCase(sentence.charAt(i)))
{
letter = Character.toLowerCase(letter);
toggled = toggled + letter;
}
else if(Character.isLowerCase(sentence.charAt(i)))
{
letter = Character.toUpperCase(letter);
toggled = toggled …Run Code Online (Sandbox Code Playgroud) 我编写了一个代码,以便它使用 isalpha() 函数删除除 alphabats 之外的所有内容(如空格和其他内容),并使用 tolower() 函数将其转换为小写。如果我不在字符串中放置空格,它工作正常,但如果字符串中有任何空格,则它超出了空格。我不明白为什么会这样。这是我写的代码。
#include<bits/stdc++.h>
#include<cstring>
#include<cctype>
using namespace std;
int main()
{
int i;
string A,b="";
cin>>A;
for(i=0;i<A.size();i++)
{
if(isalpha(A[i]))
b+= tolower(A[i]);
else
continue;
}
cout<<b;
}
Run Code Online (Sandbox Code Playgroud)
请帮我。谢谢